зеркало из
1
0
Форкнуть 0

[AutoRelease] t2-managedservices-2024-11-04-44075(can only be merged by SDK owner) (#38287)

* code and test

* update-testcase

---------

Co-authored-by: azure-sdk <PythonSdkPipelines>
Co-authored-by: ChenxiJiang333 <v-chenjiang@microsoft.com>
This commit is contained in:
Azure SDK Bot 2024-11-04 21:44:43 -08:00 коммит произвёл GitHub
Родитель 36faf5a08d
Коммит a7661c7d0b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
68 изменённых файлов: 2088 добавлений и 1221 удалений

Просмотреть файл

@ -1,5 +1,11 @@
# Release History
## 7.0.0b2 (2024-11-05)
### Other Changes
- Update dependencies
## 7.0.0b1 (2022-10-31)
### Features Added

Просмотреть файл

@ -1,28 +1,61 @@
# Microsoft Azure SDK for Python
This is the Microsoft Azure Managed Services Client Library.
This package has been tested with Python 3.7+.
This package has been tested with Python 3.8+.
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).
## _Disclaimer_
_Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to https://github.com/Azure/azure-sdk-for-python/issues/20691_
# Usage
## Getting started
### Prerequisites
- Python 3.8+ is required to use this package.
- [Azure subscription](https://azure.microsoft.com/free/)
### Install the package
```bash
pip install azure-mgmt-managedservices
pip install azure-identity
```
### Authentication
By default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.
- `AZURE_CLIENT_ID` for Azure client ID.
- `AZURE_TENANT_ID` for Azure tenant ID.
- `AZURE_CLIENT_SECRET` for Azure client secret.
In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
With above configuration, client can be authenticated by following code:
```python
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
import os
sub_id = os.getenv("AZURE_SUBSCRIPTION_ID")
client = ManagedServicesClient(credential=DefaultAzureCredential(), subscription_id=sub_id)
```
## Examples
Code samples for this package can be found at:
- [Search Managed Services](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com
- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
To learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)
For docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)
Code samples for this package can be found at [Managed Services](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.
Additional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
## Troubleshooting
## Next steps
# Provide Feedback
## Provide Feedback
If you encounter any bugs or have suggestions, please file an issue in the
[Issues](https://github.com/Azure/azure-sdk-for-python/issues)
section of the project.
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-managedservices%2FREADME.png)

Просмотреть файл

@ -1,11 +1,11 @@
{
"commit": "5fc05d0f0b15cbf16de942cadce464b495c66a58",
"commit": "cc6315290ff14f03f0c18904a109f82afac4a899",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"autorest": "3.9.2",
"autorest": "3.10.2",
"use": [
"@autorest/python@6.2.1",
"@autorest/modelerfour@4.24.3"
"@autorest/python@6.19.0",
"@autorest/modelerfour@4.27.0"
],
"autorest_command": "autorest specification/managedservices/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.2.1 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False",
"autorest_command": "autorest specification/managedservices/resource-manager/readme.md --generate-sample=True --generate-test=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/mnt/vss/_work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.19.0 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False",
"readme": "specification/managedservices/resource-manager/readme.md"
}

Просмотреть файл

@ -13,7 +13,7 @@ __version__ = VERSION
try:
from ._patch import __all__ as _patch_all
from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import
from ._patch import * # pylint: disable=unused-wildcard-import
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk

Просмотреть файл

@ -6,26 +6,19 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, TYPE_CHECKING
from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy
from ._version import VERSION
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials import TokenCredential
class ManagedServicesClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
class ManagedServicesClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
"""Configuration for ManagedServicesClient.
Note that all parameters used to create this instance are saved as instance
@ -39,8 +32,7 @@ class ManagedServicesClientConfiguration(Configuration): # pylint: disable=too-
"""
def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None:
super(ManagedServicesClientConfiguration, self).__init__(**kwargs)
api_version = kwargs.pop("api_version", "2022-10-01") # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", "2022-10-01")
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
@ -49,20 +41,18 @@ class ManagedServicesClientConfiguration(Configuration): # pylint: disable=too-
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-managedservices/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)
def _configure(
self, **kwargs # type: Any
):
# type: (...) -> None
def _configure(self, **kwargs: Any) -> None:
self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs)
self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs)
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy:
self.authentication_policy = ARMChallengeAuthenticationPolicy(

Просмотреть файл

@ -8,11 +8,14 @@
from copy import deepcopy
from typing import Any, TYPE_CHECKING
from typing_extensions import Self
from azure.core.pipeline import policies
from azure.core.rest import HttpRequest, HttpResponse
from azure.mgmt.core import ARMPipelineClient
from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy
from . import models
from . import models as _models
from ._configuration import ManagedServicesClientConfiguration
from ._serialization import Deserializer, Serializer
from .operations import (
@ -66,9 +69,27 @@ class ManagedServicesClient: # pylint: disable=client-accepts-api-version-keywo
self, credential: "TokenCredential", base_url: str = "https://management.azure.com", **kwargs: Any
) -> None:
self._config = ManagedServicesClientConfiguration(credential=credential, **kwargs)
self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
_policies = kwargs.pop("policies", None)
if _policies is None:
_policies = [
policies.RequestIdPolicy(**kwargs),
self._config.headers_policy,
self._config.user_agent_policy,
self._config.proxy_policy,
policies.ContentDecodePolicy(**kwargs),
ARMAutoResourceProviderRegistrationPolicy(),
self._config.redirect_policy,
self._config.retry_policy,
self._config.authentication_policy,
self._config.custom_hook_policy,
self._config.logging_policy,
policies.DistributedTracingPolicy(**kwargs),
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
self._config.http_logging_policy,
]
self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, policies=_policies, **kwargs)
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models)
self._serialize.client_side_validation = False
@ -91,7 +112,7 @@ class ManagedServicesClient: # pylint: disable=client-accepts-api-version-keywo
self._client, self._config, self._serialize, self._deserialize
)
def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
"""Runs the network request through the client's chained policies.
>>> from azure.core.rest import HttpRequest
@ -111,17 +132,14 @@ class ManagedServicesClient: # pylint: disable=client-accepts-api-version-keywo
request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url)
return self._client.send_request(request_copy, **kwargs)
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
def close(self):
# type: () -> None
def close(self) -> None:
self._client.close()
def __enter__(self):
# type: () -> ManagedServicesClient
def __enter__(self) -> Self:
self._client.__enter__()
return self
def __exit__(self, *exc_details):
# type: (Any) -> None
def __exit__(self, *exc_details: Any) -> None:
self._client.__exit__(*exc_details)

Просмотреть файл

@ -25,6 +25,7 @@
# --------------------------------------------------------------------------
# pylint: skip-file
# pyright: reportUnnecessaryTypeIgnoreComment=false
from base64 import b64decode, b64encode
import calendar
@ -37,23 +38,38 @@ import logging
import re
import sys
import codecs
from typing import (
Dict,
Any,
cast,
Optional,
Union,
AnyStr,
IO,
Mapping,
Callable,
TypeVar,
MutableMapping,
Type,
List,
Mapping,
)
try:
from urllib import quote # type: ignore
except ImportError:
from urllib.parse import quote # type: ignore
from urllib.parse import quote
import xml.etree.ElementTree as ET
import isodate
import isodate # type: ignore
from typing import Dict, Any, cast, TYPE_CHECKING
from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback
from azure.core.exceptions import DeserializationError, SerializationError
from azure.core.serialization import NULL as CoreNull
_BOM = codecs.BOM_UTF8.decode(encoding="utf-8")
if TYPE_CHECKING:
from typing import Optional, Union, AnyStr, IO, Mapping
ModelType = TypeVar("ModelType", bound="Model")
JSON = MutableMapping[str, Any]
class RawDeserializer:
@ -65,8 +81,7 @@ class RawDeserializer:
CONTEXT_NAME = "deserialized_data"
@classmethod
def deserialize_from_text(cls, data, content_type=None):
# type: (Optional[Union[AnyStr, IO]], Optional[str]) -> Any
def deserialize_from_text(cls, data: Optional[Union[AnyStr, IO]], content_type: Optional[str] = None) -> Any:
"""Decode data according to content-type.
Accept a stream of data as well, but will be load at once in memory for now.
@ -109,7 +124,7 @@ class RawDeserializer:
pass
return ET.fromstring(data_as_str) # nosec
except ET.ParseError:
except ET.ParseError as err:
# It might be because the server has an issue, and returned JSON with
# content-type XML....
# So let's try a JSON load, and if it's still broken
@ -128,12 +143,13 @@ class RawDeserializer:
# The function hack is because Py2.7 messes up with exception
# context otherwise.
_LOGGER.critical("Wasn't XML not JSON, failing")
raise_with_traceback(DeserializationError, "XML is invalid")
raise DeserializationError("XML is invalid") from err
elif content_type.startswith("text/"):
return data_as_str
raise DeserializationError("Cannot deserialize content-type: {}".format(content_type))
@classmethod
def deserialize_from_http_generics(cls, body_bytes, headers):
# type: (Optional[Union[AnyStr, IO]], Mapping) -> Any
def deserialize_from_http_generics(cls, body_bytes: Optional[Union[AnyStr, IO]], headers: Mapping) -> Any:
"""Deserialize from HTTP response.
Use bytes and headers to NOT use any requests/aiohttp or whatever
@ -156,13 +172,6 @@ class RawDeserializer:
return None
try:
basestring # type: ignore
unicode_str = unicode # type: ignore
except NameError:
basestring = str # type: ignore
unicode_str = str # type: ignore
_LOGGER = logging.getLogger(__name__)
try:
@ -188,7 +197,7 @@ class UTC(datetime.tzinfo):
try:
from datetime import timezone as _FixedOffset
from datetime import timezone as _FixedOffset # type: ignore
except ImportError: # Python 2.7
class _FixedOffset(datetime.tzinfo): # type: ignore
@ -219,7 +228,7 @@ except ImportError: # Python 2.7
try:
from datetime import timezone
TZ_UTC = timezone.utc # type: ignore
TZ_UTC = timezone.utc
except ImportError:
TZ_UTC = UTC() # type: ignore
@ -276,12 +285,12 @@ class Model(object):
serialization and deserialization.
"""
_subtype_map = {} # type: Dict[str, Dict[str, Any]]
_attribute_map = {} # type: Dict[str, Dict[str, Any]]
_validation = {} # type: Dict[str, Dict[str, Any]]
_subtype_map: Dict[str, Dict[str, Any]] = {}
_attribute_map: Dict[str, Dict[str, Any]] = {}
_validation: Dict[str, Dict[str, Any]] = {}
def __init__(self, **kwargs):
self.additional_properties = {}
def __init__(self, **kwargs: Any) -> None:
self.additional_properties: Optional[Dict[str, Any]] = {}
for k in kwargs:
if k not in self._attribute_map:
_LOGGER.warning("%s is not a known attribute of class %s and will be ignored", k, self.__class__)
@ -290,27 +299,27 @@ class Model(object):
else:
setattr(self, k, kwargs[k])
def __eq__(self, other):
def __eq__(self, other: Any) -> bool:
"""Compare objects by comparing all attributes."""
if isinstance(other, self.__class__):
return self.__dict__ == other.__dict__
return False
def __ne__(self, other):
def __ne__(self, other: Any) -> bool:
"""Compare objects by comparing all attributes."""
return not self.__eq__(other)
def __str__(self):
def __str__(self) -> str:
return str(self.__dict__)
@classmethod
def enable_additional_properties_sending(cls):
def enable_additional_properties_sending(cls) -> None:
cls._attribute_map["additional_properties"] = {"key": "", "type": "{object}"}
@classmethod
def is_xml_model(cls):
def is_xml_model(cls) -> bool:
try:
cls._xml_map
cls._xml_map # type: ignore
except AttributeError:
return False
return True
@ -319,14 +328,14 @@ class Model(object):
def _create_xml_node(cls):
"""Create XML node."""
try:
xml_map = cls._xml_map
xml_map = cls._xml_map # type: ignore
except AttributeError:
xml_map = {}
return _create_xml_node(xml_map.get("name", cls.__name__), xml_map.get("prefix", None), xml_map.get("ns", None))
def serialize(self, keep_readonly=False, **kwargs):
"""Return the JSON that would be sent to azure from this model.
def serialize(self, keep_readonly: bool = False, **kwargs: Any) -> JSON:
"""Return the JSON that would be sent to server from this model.
This is an alias to `as_dict(full_restapi_key_transformer, keep_readonly=False)`.
@ -337,10 +346,15 @@ class Model(object):
:rtype: dict
"""
serializer = Serializer(self._infer_class_models())
return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs)
return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs) # type: ignore
def as_dict(self, keep_readonly=True, key_transformer=attribute_transformer, **kwargs):
"""Return a dict that can be JSONify using json.dump.
def as_dict(
self,
keep_readonly: bool = True,
key_transformer: Callable[[str, Dict[str, Any], Any], Any] = attribute_transformer,
**kwargs: Any
) -> JSON:
"""Return a dict that can be serialized using json.dump.
Advanced usage might optionally use a callback as parameter:
@ -371,7 +385,7 @@ class Model(object):
:rtype: dict
"""
serializer = Serializer(self._infer_class_models())
return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs)
return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs) # type: ignore
@classmethod
def _infer_class_models(cls):
@ -387,7 +401,7 @@ class Model(object):
return client_models
@classmethod
def deserialize(cls, data, content_type=None):
def deserialize(cls: Type[ModelType], data: Any, content_type: Optional[str] = None) -> ModelType:
"""Parse a str using the RestAPI syntax and return a model.
:param str data: A str using RestAPI structure. JSON by default.
@ -396,10 +410,15 @@ class Model(object):
:raises: DeserializationError if something went wrong
"""
deserializer = Deserializer(cls._infer_class_models())
return deserializer(cls.__name__, data, content_type=content_type)
return deserializer(cls.__name__, data, content_type=content_type) # type: ignore
@classmethod
def from_dict(cls, data, key_extractors=None, content_type=None):
def from_dict(
cls: Type[ModelType],
data: Any,
key_extractors: Optional[Callable[[str, Dict[str, Any], Any], Any]] = None,
content_type: Optional[str] = None,
) -> ModelType:
"""Parse a dict using given key extractor return a model.
By default consider key
@ -412,8 +431,8 @@ class Model(object):
:raises: DeserializationError if something went wrong
"""
deserializer = Deserializer(cls._infer_class_models())
deserializer.key_extractors = (
[
deserializer.key_extractors = ( # type: ignore
[ # type: ignore
attribute_key_case_insensitive_extractor,
rest_key_case_insensitive_extractor,
last_rest_key_case_insensitive_extractor,
@ -421,7 +440,7 @@ class Model(object):
if key_extractors is None
else key_extractors
)
return deserializer(cls.__name__, data, content_type=content_type)
return deserializer(cls.__name__, data, content_type=content_type) # type: ignore
@classmethod
def _flatten_subtype(cls, key, objects):
@ -453,7 +472,7 @@ class Model(object):
return cls
flatten_mapping_type = cls._flatten_subtype(subtype_key, objects)
try:
return objects[flatten_mapping_type[subtype_value]]
return objects[flatten_mapping_type[subtype_value]] # type: ignore
except KeyError:
_LOGGER.warning(
"Subtype value %s has no mapping, use base class %s.",
@ -521,7 +540,7 @@ class Serializer(object):
"multiple": lambda x, y: x % y != 0,
}
def __init__(self, classes=None):
def __init__(self, classes: Optional[Mapping[str, type]] = None):
self.serialize_type = {
"iso-8601": Serializer.serialize_iso,
"rfc-1123": Serializer.serialize_rfc,
@ -537,7 +556,7 @@ class Serializer(object):
"[]": self.serialize_iter,
"{}": self.serialize_dict,
}
self.dependencies = dict(classes) if classes else {}
self.dependencies: Dict[str, type] = dict(classes) if classes else {}
self.key_transformer = full_restapi_key_transformer
self.client_side_validation = True
@ -605,14 +624,14 @@ class Serializer(object):
if xml_desc.get("attr", False):
if xml_ns:
ET.register_namespace(xml_prefix, xml_ns)
xml_name = "{}{}".format(xml_ns, xml_name)
serialized.set(xml_name, new_attr)
xml_name = "{{{}}}{}".format(xml_ns, xml_name)
serialized.set(xml_name, new_attr) # type: ignore
continue
if xml_desc.get("text", False):
serialized.text = new_attr
serialized.text = new_attr # type: ignore
continue
if isinstance(new_attr, list):
serialized.extend(new_attr)
serialized.extend(new_attr) # type: ignore
elif isinstance(new_attr, ET.Element):
# If the down XML has no XML/Name, we MUST replace the tag with the local tag. But keeping the namespaces.
if "name" not in getattr(orig_attr, "_xml_map", {}):
@ -621,30 +640,30 @@ class Serializer(object):
new_attr.tag = "}".join([splitted_tag[0], xml_name])
else:
new_attr.tag = xml_name
serialized.append(new_attr)
serialized.append(new_attr) # type: ignore
else: # That's a basic type
# Integrate namespace if necessary
local_node = _create_xml_node(xml_name, xml_prefix, xml_ns)
local_node.text = unicode_str(new_attr)
serialized.append(local_node)
local_node.text = str(new_attr)
serialized.append(local_node) # type: ignore
else: # JSON
for k in reversed(keys):
unflattened = {k: new_attr}
new_attr = unflattened
for k in reversed(keys): # type: ignore
new_attr = {k: new_attr}
_new_attr = new_attr
_serialized = serialized
for k in keys:
for k in keys: # type: ignore
if k not in _serialized:
_serialized.update(_new_attr)
_new_attr = _new_attr[k]
_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))
raise_with_traceback(SerializationError, msg, err)
raise SerializationError(msg) from err
else:
return serialized
@ -659,8 +678,8 @@ class Serializer(object):
"""
# Just in case this is a dict
internal_data_type = data_type.strip("[]{}")
internal_data_type = self.dependencies.get(internal_data_type, None)
internal_data_type_str = data_type.strip("[]{}")
internal_data_type = self.dependencies.get(internal_data_type_str, None)
try:
is_xml_model_serialization = kwargs["is_xml"]
except KeyError:
@ -675,7 +694,7 @@ class Serializer(object):
# We're not able to deal with additional properties for now.
deserializer.additional_properties_detection = False
if is_xml_model_serialization:
deserializer.key_extractors = [
deserializer.key_extractors = [ # type: ignore
attribute_key_case_insensitive_extractor,
]
else:
@ -686,7 +705,7 @@ class Serializer(object):
]
data = deserializer._deserialize(data_type, data)
except DeserializationError as err:
raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err)
raise SerializationError("Unable to build a model: " + str(err)) from err
return self._serialize(data, data_type, **kwargs)
@ -706,6 +725,7 @@ class Serializer(object):
if kwargs.get("skip_quote") is True:
output = str(output)
output = output.replace("{", quote("{")).replace("}", quote("}"))
else:
output = quote(str(output), safe="")
except SerializationError:
@ -718,7 +738,9 @@ class Serializer(object):
:param data: The data to be serialized.
:param str data_type: The type to be serialized from.
:rtype: str
:keyword bool skip_quote: Whether to skip quote the serialized result.
Defaults to False.
:rtype: str, list
:raises: TypeError if serialization fails.
:raises: ValueError if data is None
"""
@ -726,10 +748,8 @@ class Serializer(object):
# 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 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)
@ -780,6 +800,8 @@ class Serializer(object):
raise ValueError("No value for given attribute")
try:
if data is CoreNull:
return None
if data_type in self.basic_types.values():
return self.serialize_basic(data, data_type, **kwargs)
@ -798,7 +820,7 @@ class Serializer(object):
except (ValueError, TypeError) as err:
msg = "Unable to serialize value: {!r} as type: {!r}."
raise_with_traceback(SerializationError, msg.format(data, data_type), err)
raise SerializationError(msg.format(data, data_type)) from err
else:
return self._serialize(data, **kwargs)
@ -843,7 +865,7 @@ class Serializer(object):
pass
try:
if isinstance(data, unicode):
if isinstance(data, unicode): # type: ignore
# Don't change it, JSON and XML ElementTree are totally able
# to serialize correctly u'' strings
return data
@ -866,6 +888,8 @@ class Serializer(object):
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):
@ -878,9 +902,14 @@ class Serializer(object):
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)
@ -925,7 +954,9 @@ class Serializer(object):
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:
@ -958,7 +989,7 @@ class Serializer(object):
return self.serialize_basic(attr, self.basic_types[obj_type], **kwargs)
if obj_type is _long_type:
return self.serialize_long(attr)
if obj_type is unicode_str:
if obj_type is str:
return self.serialize_unicode(attr)
if obj_type is datetime.datetime:
return self.serialize_iso(attr)
@ -1001,10 +1032,10 @@ class Serializer(object):
except AttributeError:
result = attr
try:
enum_obj(result)
enum_obj(result) # type: ignore
return result
except ValueError:
for enum_value in enum_obj:
for enum_value in enum_obj: # type: ignore
if enum_value.value.lower() == str(attr).lower():
return enum_value.value
error = "{!r} is not valid value for enum {!r}"
@ -1135,10 +1166,10 @@ class Serializer(object):
return date + microseconds + "Z"
except (ValueError, OverflowError) as err:
msg = "Unable to serialize datetime object."
raise_with_traceback(SerializationError, msg, err)
raise SerializationError(msg) from err
except AttributeError as err:
msg = "ISO-8601 object must be valid Datetime object."
raise_with_traceback(TypeError, msg, err)
raise TypeError(msg) from err
@staticmethod
def serialize_unix(attr, **kwargs):
@ -1164,7 +1195,8 @@ def rest_key_extractor(attr, attr_desc, data):
working_data = data
while "." in key:
dict_keys = _FLATTEN.split(key)
# Need the cast, as for some reasons "split" is typed as list[str | Any]
dict_keys = cast(List[str], _FLATTEN.split(key))
if len(dict_keys) == 1:
key = _decode_attribute_map_key(dict_keys[0])
break
@ -1173,7 +1205,6 @@ def rest_key_extractor(attr, attr_desc, data):
if working_data is None:
# If at any point while following flatten JSON path see None, it means
# that all properties under are None as well
# https://github.com/Azure/msrest-for-python/issues/197
return None
key = ".".join(dict_keys[1:])
@ -1194,7 +1225,6 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data):
if working_data is None:
# If at any point while following flatten JSON path see None, it means
# that all properties under are None as well
# https://github.com/Azure/msrest-for-python/issues/197
return None
key = ".".join(dict_keys[1:])
@ -1245,7 +1275,7 @@ def _extract_name_from_internal_type(internal_type):
xml_name = internal_type_xml_map.get("name", internal_type.__name__)
xml_ns = internal_type_xml_map.get("ns", None)
if xml_ns:
xml_name = "{}{}".format(xml_ns, xml_name)
xml_name = "{{{}}}{}".format(xml_ns, xml_name)
return xml_name
@ -1269,7 +1299,7 @@ def xml_key_extractor(attr, attr_desc, data):
# Integrate namespace if necessary
xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None))
if xml_ns:
xml_name = "{}{}".format(xml_ns, xml_name)
xml_name = "{{{}}}{}".format(xml_ns, xml_name)
# If it's an attribute, that's simple
if xml_desc.get("attr", False):
@ -1335,7 +1365,7 @@ class Deserializer(object):
valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?")
def __init__(self, classes=None):
def __init__(self, classes: Optional[Mapping[str, type]] = None):
self.deserialize_type = {
"iso-8601": Deserializer.deserialize_iso,
"rfc-1123": Deserializer.deserialize_rfc,
@ -1355,7 +1385,7 @@ class Deserializer(object):
"duration": (isodate.Duration, datetime.timedelta),
"iso-8601": (datetime.datetime),
}
self.dependencies = dict(classes) if classes else {}
self.dependencies: Dict[str, type] = dict(classes) if classes else {}
self.key_extractors = [rest_key_extractor, xml_key_extractor]
# Additional properties only works if the "rest_key_extractor" is used to
# extract the keys. Making it to work whatever the key extractor is too much
@ -1408,15 +1438,15 @@ class Deserializer(object):
response, class_name = self._classify_target(target_obj, data)
if isinstance(response, basestring):
if isinstance(response, str):
return self.deserialize_data(data, response)
elif isinstance(response, type) and issubclass(response, Enum):
return self.deserialize_enum(data, response)
if data is None:
if data is None or data is CoreNull:
return data
try:
attributes = response._attribute_map
attributes = response._attribute_map # type: ignore
d_attrs = {}
for attr, attr_desc in attributes.items():
# Check empty string. If it's not empty, someone has a real "additionalProperties"...
@ -1444,8 +1474,8 @@ class Deserializer(object):
value = self.deserialize_data(raw_value, attr_desc["type"])
d_attrs[attr] = value
except (AttributeError, TypeError, KeyError) as err:
msg = "Unable to deserialize to object: " + class_name
raise_with_traceback(DeserializationError, msg, err)
msg = "Unable to deserialize to object: " + class_name # type: ignore
raise DeserializationError(msg) from err
else:
additional_properties = self._build_additional_properties(attributes, data)
return self._instantiate_model(response, d_attrs, additional_properties)
@ -1474,22 +1504,22 @@ class Deserializer(object):
Once classification has been determined, initialize object.
:param str target: The target object type to deserialize to.
:param str/dict data: The response data to deseralize.
:param str/dict data: The response data to deserialize.
"""
if target is None:
return None, None
if isinstance(target, basestring):
if isinstance(target, str):
try:
target = self.dependencies[target]
except KeyError:
return target, target
try:
target = target._classify(data, self.dependencies)
target = target._classify(data, self.dependencies) # type: ignore
except AttributeError:
pass # Target is not a Model, no classify
return target, target.__class__.__name__
return target, target.__class__.__name__ # type: ignore
def failsafe_deserialize(self, target_obj, data, content_type=None):
"""Ignores any errors encountered in deserialization,
@ -1499,7 +1529,7 @@ class Deserializer(object):
a deserialization error.
:param str target_obj: The target object type to deserialize to.
:param str/dict data: The response data to deseralize.
:param str/dict data: The response data to deserialize.
:param str content_type: Swagger "produces" if available.
"""
try:
@ -1542,8 +1572,8 @@ class Deserializer(object):
if hasattr(raw_data, "_content_consumed"):
return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers)
if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"):
return RawDeserializer.deserialize_from_text(raw_data, content_type)
if isinstance(raw_data, (str, bytes)) or hasattr(raw_data, "read"):
return RawDeserializer.deserialize_from_text(raw_data, content_type) # type: ignore
return raw_data
def _instantiate_model(self, response, attrs, additional_properties=None):
@ -1565,7 +1595,7 @@ class Deserializer(object):
response_obj.additional_properties = additional_properties
return response_obj
except TypeError as err:
msg = "Unable to deserialize {} into model {}. ".format(kwargs, response)
msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) # type: ignore
raise DeserializationError(msg + str(err))
else:
try:
@ -1616,7 +1646,7 @@ class Deserializer(object):
except (ValueError, TypeError, AttributeError) as err:
msg = "Unable to deserialize response data."
msg += " Data: {}, {}".format(data, data_type)
raise_with_traceback(DeserializationError, msg, err)
raise DeserializationError(msg) from err
else:
return self._deserialize(obj_type, data)
@ -1664,7 +1694,7 @@ class Deserializer(object):
if isinstance(attr, ET.Element):
# Do no recurse on XML, just return the tree as-is
return attr
if isinstance(attr, basestring):
if isinstance(attr, str):
return self.deserialize_basic(attr, "str")
obj_type = type(attr)
if obj_type in self.basic_types:
@ -1721,7 +1751,7 @@ class Deserializer(object):
if data_type == "bool":
if attr in [True, False, 1, 0]:
return bool(attr)
elif isinstance(attr, basestring):
elif isinstance(attr, str):
if attr.lower() in ["true", "1"]:
return True
elif attr.lower() in ["false", "0"]:
@ -1747,7 +1777,7 @@ class Deserializer(object):
# Consider this is real string
try:
if isinstance(data, unicode):
if isinstance(data, unicode): # type: ignore
return data
except NameError:
return str(data)
@ -1772,7 +1802,6 @@ class Deserializer(object):
data = data.value
if isinstance(data, int):
# Workaround. We might consider remove it in the future.
# https://github.com/Azure/azure-rest-api-specs/issues/141
try:
return list(enum_obj.__members__.values())[data]
except IndexError:
@ -1798,7 +1827,7 @@ class Deserializer(object):
"""
if isinstance(attr, ET.Element):
attr = attr.text
return bytearray(b64decode(attr))
return bytearray(b64decode(attr)) # type: ignore
@staticmethod
def deserialize_base64(attr):
@ -1810,8 +1839,8 @@ class Deserializer(object):
"""
if isinstance(attr, ET.Element):
attr = attr.text
padding = "=" * (3 - (len(attr) + 3) % 4)
attr = attr + padding
padding = "=" * (3 - (len(attr) + 3) % 4) # type: ignore
attr = attr + padding # type: ignore
encoded = attr.replace("-", "+").replace("_", "/")
return b64decode(encoded)
@ -1826,10 +1855,10 @@ class Deserializer(object):
if isinstance(attr, ET.Element):
attr = attr.text
try:
return decimal.Decimal(attr)
return decimal.Decimal(str(attr)) # type: ignore
except decimal.DecimalException as err:
msg = "Invalid decimal {}".format(attr)
raise_with_traceback(DeserializationError, msg, err)
raise DeserializationError(msg) from err
@staticmethod
def deserialize_long(attr):
@ -1841,7 +1870,7 @@ class Deserializer(object):
"""
if isinstance(attr, ET.Element):
attr = attr.text
return _long_type(attr)
return _long_type(attr) # type: ignore
@staticmethod
def deserialize_duration(attr):
@ -1857,7 +1886,7 @@ class Deserializer(object):
duration = isodate.parse_duration(attr)
except (ValueError, OverflowError, AttributeError) as err:
msg = "Cannot deserialize duration object."
raise_with_traceback(DeserializationError, msg, err)
raise DeserializationError(msg) from err
else:
return duration
@ -1871,10 +1900,10 @@ class Deserializer(object):
"""
if isinstance(attr, ET.Element):
attr = attr.text
if re.search(r"[^\W\d_]", attr, re.I + re.U):
if re.search(r"[^\W\d_]", attr, re.I + re.U): # type: ignore
raise DeserializationError("Date must have only digits and -. Received: %s" % attr)
# This must NOT use defaultmonth/defaultday. Using None ensure this raises an exception.
return isodate.parse_date(attr, defaultmonth=None, defaultday=None)
return isodate.parse_date(attr, defaultmonth=0, defaultday=0)
@staticmethod
def deserialize_time(attr):
@ -1886,7 +1915,7 @@ class Deserializer(object):
"""
if isinstance(attr, ET.Element):
attr = attr.text
if re.search(r"[^\W\d_]", attr, re.I + re.U):
if re.search(r"[^\W\d_]", attr, re.I + re.U): # type: ignore
raise DeserializationError("Date must have only digits and -. Received: %s" % attr)
return isodate.parse_time(attr)
@ -1901,7 +1930,7 @@ class Deserializer(object):
if isinstance(attr, ET.Element):
attr = attr.text
try:
parsed_date = email.utils.parsedate_tz(attr)
parsed_date = email.utils.parsedate_tz(attr) # type: ignore
date_obj = datetime.datetime(
*parsed_date[:6], tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0) / 60))
)
@ -1909,7 +1938,7 @@ class Deserializer(object):
date_obj = date_obj.astimezone(tz=TZ_UTC)
except ValueError as err:
msg = "Cannot deserialize to rfc datetime object."
raise_with_traceback(DeserializationError, msg, err)
raise DeserializationError(msg) from err
else:
return date_obj
@ -1924,7 +1953,7 @@ class Deserializer(object):
if isinstance(attr, ET.Element):
attr = attr.text
try:
attr = attr.upper()
attr = attr.upper() # type: ignore
match = Deserializer.valid_date.match(attr)
if not match:
raise ValueError("Invalid datetime string: " + attr)
@ -1946,7 +1975,7 @@ class Deserializer(object):
raise OverflowError("Hit max or min date")
except (ValueError, OverflowError, AttributeError) as err:
msg = "Cannot deserialize datetime object."
raise_with_traceback(DeserializationError, msg, err)
raise DeserializationError(msg) from err
else:
return date_obj
@ -1960,11 +1989,12 @@ class Deserializer(object):
:raises: DeserializationError if format invalid
"""
if isinstance(attr, ET.Element):
attr = int(attr.text)
attr = int(attr.text) # type: ignore
try:
attr = int(attr)
date_obj = datetime.datetime.fromtimestamp(attr, TZ_UTC)
except ValueError as err:
msg = "Cannot deserialize to unix datetime object."
raise_with_traceback(DeserializationError, msg, err)
raise DeserializationError(msg) from err
else:
return date_obj

Просмотреть файл

@ -1,27 +0,0 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.core.pipeline.transport import HttpRequest
def _convert_request(request, files=None):
data = request.content if not files else None
request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data)
if files:
request.set_formdata_body(files)
return request
def _format_url_section(template, **kwargs):
components = template.split("/")
while components:
try:
return template.format(**kwargs)
except KeyError as key:
formatted_components = template.split("/")
components = [c for c in formatted_components if "{}".format(key.args[0]) not in c]
template = "/".join(components)

Просмотреть файл

@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
VERSION = "7.0.0b1"
VERSION = "7.0.0b2"

Просмотреть файл

@ -10,7 +10,7 @@ from ._managed_services_client import ManagedServicesClient
try:
from ._patch import __all__ as _patch_all
from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import
from ._patch import * # pylint: disable=unused-wildcard-import
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk

Просмотреть файл

@ -6,26 +6,19 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, TYPE_CHECKING
from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy
from .._version import VERSION
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials_async import AsyncTokenCredential
class ManagedServicesClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
class ManagedServicesClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
"""Configuration for ManagedServicesClient.
Note that all parameters used to create this instance are saved as instance
@ -39,8 +32,7 @@ class ManagedServicesClientConfiguration(Configuration): # pylint: disable=too-
"""
def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None:
super(ManagedServicesClientConfiguration, self).__init__(**kwargs)
api_version = kwargs.pop("api_version", "2022-10-01") # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", "2022-10-01")
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
@ -49,6 +41,7 @@ class ManagedServicesClientConfiguration(Configuration): # pylint: disable=too-
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-managedservices/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)
def _configure(self, **kwargs: Any) -> None:
@ -57,9 +50,9 @@ class ManagedServicesClientConfiguration(Configuration): # pylint: disable=too-
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy:
self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(

Просмотреть файл

@ -8,11 +8,14 @@
from copy import deepcopy
from typing import Any, Awaitable, TYPE_CHECKING
from typing_extensions import Self
from azure.core.pipeline import policies
from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.mgmt.core import AsyncARMPipelineClient
from azure.mgmt.core.policies import AsyncARMAutoResourceProviderRegistrationPolicy
from .. import models
from .. import models as _models
from .._serialization import Deserializer, Serializer
from ._configuration import ManagedServicesClientConfiguration
from .operations import (
@ -66,9 +69,27 @@ class ManagedServicesClient: # pylint: disable=client-accepts-api-version-keywo
self, credential: "AsyncTokenCredential", base_url: str = "https://management.azure.com", **kwargs: Any
) -> None:
self._config = ManagedServicesClientConfiguration(credential=credential, **kwargs)
self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
_policies = kwargs.pop("policies", None)
if _policies is None:
_policies = [
policies.RequestIdPolicy(**kwargs),
self._config.headers_policy,
self._config.user_agent_policy,
self._config.proxy_policy,
policies.ContentDecodePolicy(**kwargs),
AsyncARMAutoResourceProviderRegistrationPolicy(),
self._config.redirect_policy,
self._config.retry_policy,
self._config.authentication_policy,
self._config.custom_hook_policy,
self._config.logging_policy,
policies.DistributedTracingPolicy(**kwargs),
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
self._config.http_logging_policy,
]
self._client: AsyncARMPipelineClient = AsyncARMPipelineClient(base_url=base_url, policies=_policies, **kwargs)
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models)
self._serialize.client_side_validation = False
@ -91,7 +112,9 @@ class ManagedServicesClient: # pylint: disable=client-accepts-api-version-keywo
self._client, self._config, self._serialize, self._deserialize
)
def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]:
def _send_request(
self, request: HttpRequest, *, stream: bool = False, **kwargs: Any
) -> Awaitable[AsyncHttpResponse]:
"""Runs the network request through the client's chained policies.
>>> from azure.core.rest import HttpRequest
@ -111,14 +134,14 @@ class ManagedServicesClient: # pylint: disable=client-accepts-api-version-keywo
request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url)
return self._client.send_request(request_copy, **kwargs)
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
async def close(self) -> None:
await self._client.close()
async def __aenter__(self) -> "ManagedServicesClient":
async def __aenter__(self) -> Self:
await self._client.__aenter__()
return self
async def __aexit__(self, *exc_details) -> None:
async def __aexit__(self, *exc_details: Any) -> None:
await self._client.__aexit__(*exc_details)

Просмотреть файл

@ -16,7 +16,7 @@ from ._operations import Operations
from ._operations_with_scope_operations import OperationsWithScopeOperations
from ._patch import __all__ as _patch_all
from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import
from ._patch import * # pylint: disable=unused-wildcard-import
from ._patch import patch_sdk as _patch_sdk
__all__ = [

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
from typing import Any, AsyncIterable, Callable, Dict, Optional, Type, TypeVar
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@ -20,26 +20,24 @@ from azure.core.exceptions import (
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.rest import HttpRequest
from azure.core.rest import AsyncHttpResponse, 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._marketplace_registration_definitions_operations import build_get_request, build_list_request
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
class MarketplaceRegistrationDefinitionsOperations:
class MarketplaceRegistrationDefinitionsOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
@ -69,7 +67,6 @@ class MarketplaceRegistrationDefinitionsOperations:
:param filter: The filter query parameter to filter managed services resources by. Default
value is None.
:type filter: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either MarketplaceRegistrationDefinition or the result of
cls(response)
:rtype:
@ -79,12 +76,10 @@ class MarketplaceRegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.MarketplaceRegistrationDefinitionList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MarketplaceRegistrationDefinitionList] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -95,16 +90,14 @@ class MarketplaceRegistrationDefinitionsOperations:
def prepare_request(next_link=None):
if not next_link:
request = build_list_request(
_request = build_list_request(
scope=scope,
filter=filter,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@ -116,26 +109,26 @@ class MarketplaceRegistrationDefinitionsOperations:
}
)
_next_request_params["api-version"] = self._config.api_version
request = HttpRequest(
_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) # type: ignore
request.method = "GET"
return request
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("MarketplaceRegistrationDefinitionList", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem)
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)
_request = prepare_request(next_link)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -148,8 +141,6 @@ class MarketplaceRegistrationDefinitionsOperations:
return AsyncItemPaged(get_next, extract_data)
list.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions"} # type: ignore
@distributed_trace_async
async def get(
self, scope: str, marketplace_identifier: str, **kwargs: Any
@ -163,12 +154,11 @@ class MarketplaceRegistrationDefinitionsOperations:
{publisher}.{product[-preview]}.{planName} or {publisher}.{product[-preview]} or {publisher}).
Required.
:type marketplace_identifier: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: MarketplaceRegistrationDefinition or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.MarketplaceRegistrationDefinition
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -179,24 +169,21 @@ class MarketplaceRegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.MarketplaceRegistrationDefinition]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MarketplaceRegistrationDefinition] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
scope=scope,
marketplace_identifier=marketplace_identifier,
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) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -206,11 +193,9 @@ class MarketplaceRegistrationDefinitionsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("MarketplaceRegistrationDefinition", pipeline_response)
deserialized = self._deserialize("MarketplaceRegistrationDefinition", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/{marketplaceIdentifier}"} # type: ignore
return deserialized # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
from typing import Any, AsyncIterable, Callable, Dict, Optional, Type, TypeVar
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@ -20,29 +20,27 @@ from azure.core.exceptions import (
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.rest import HttpRequest
from azure.core.rest import AsyncHttpResponse, 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._marketplace_registration_definitions_without_scope_operations import (
build_get_request,
build_list_request,
)
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
class MarketplaceRegistrationDefinitionsWithoutScopeOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
@ -70,7 +68,6 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
:param filter: The filter query parameter to filter managed services resources by. Default
value is None.
:type filter: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either MarketplaceRegistrationDefinition or the result of
cls(response)
:rtype:
@ -80,12 +77,10 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.MarketplaceRegistrationDefinitionList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MarketplaceRegistrationDefinitionList] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -96,15 +91,13 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
def prepare_request(next_link=None):
if not next_link:
request = build_list_request(
_request = build_list_request(
filter=filter,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@ -116,26 +109,26 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
}
)
_next_request_params["api-version"] = self._config.api_version
request = HttpRequest(
_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) # type: ignore
request.method = "GET"
return request
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("MarketplaceRegistrationDefinitionList", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem)
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)
_request = prepare_request(next_link)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -148,8 +141,6 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
return AsyncItemPaged(get_next, extract_data)
list.metadata = {"url": "/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions"} # type: ignore
@distributed_trace_async
async def get(self, marketplace_identifier: str, **kwargs: Any) -> _models.MarketplaceRegistrationDefinition:
"""Get the marketplace registration definition for the marketplace identifier.
@ -159,12 +150,11 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
{publisher}.{product[-preview]}.{planName} or {publisher}.{product[-preview]} or {publisher}).
Required.
:type marketplace_identifier: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: MarketplaceRegistrationDefinition or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.MarketplaceRegistrationDefinition
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -175,23 +165,20 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.MarketplaceRegistrationDefinition]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MarketplaceRegistrationDefinition] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
marketplace_identifier=marketplace_identifier,
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) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -201,11 +188,9 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("MarketplaceRegistrationDefinition", pipeline_response)
deserialized = self._deserialize("MarketplaceRegistrationDefinition", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get.metadata = {"url": "/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/{marketplaceIdentifier}"} # type: ignore
return deserialized # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, Callable, Dict, Optional, TypeVar
from typing import Any, Callable, Dict, Optional, Type, TypeVar
from azure.core.exceptions import (
ClientAuthenticationError,
@ -18,20 +18,18 @@ from azure.core.exceptions import (
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.rest import HttpRequest
from azure.core.rest import AsyncHttpResponse, HttpRequest
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._operations import build_list_request
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@ -59,12 +57,11 @@ class Operations:
async def list(self, **kwargs: Any) -> _models.OperationList:
"""Gets a list of the operations.
:keyword callable cls: A custom type or function that will be passed the direct response
:return: OperationList or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.OperationList
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -75,22 +72,19 @@ class Operations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.OperationList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OperationList] = kwargs.pop("cls", None)
request = build_list_request(
_request = build_list_request(
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -100,11 +94,9 @@ class Operations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("OperationList", pipeline_response)
deserialized = self._deserialize("OperationList", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
list.metadata = {"url": "/providers/Microsoft.ManagedServices/operations"} # type: ignore
return deserialized # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, Callable, Dict, Optional, TypeVar
from typing import Any, Callable, Dict, Optional, Type, TypeVar
from azure.core.exceptions import (
ClientAuthenticationError,
@ -18,20 +18,18 @@ from azure.core.exceptions import (
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.rest import HttpRequest
from azure.core.rest import AsyncHttpResponse, HttpRequest
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._operations_with_scope_operations import build_list_request
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@ -61,12 +59,11 @@ class OperationsWithScopeOperations:
:param scope: The scope of the resource. Required.
:type scope: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: OperationList or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.OperationList
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -77,23 +74,20 @@ class OperationsWithScopeOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.OperationList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OperationList] = kwargs.pop("cls", None)
request = build_list_request(
_request = build_list_request(
scope=scope,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -103,11 +97,9 @@ class OperationsWithScopeOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("OperationList", pipeline_response)
deserialized = self._deserialize("OperationList", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
list.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/operations"} # type: ignore
return deserialized # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -6,8 +6,9 @@
# 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
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, Type, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@ -17,12 +18,13 @@ from azure.core.exceptions import (
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
StreamClosedError,
StreamConsumedError,
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
from azure.core.rest import HttpRequest
from azure.core.rest import AsyncHttpResponse, 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
@ -30,7 +32,6 @@ from azure.mgmt.core.exceptions import ARMErrorFormat
from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
from ... import models as _models
from ..._vendor import _convert_request
from ...operations._registration_assignments_operations import (
build_create_or_update_request,
build_delete_request,
@ -38,10 +39,10 @@ from ...operations._registration_assignments_operations import (
build_list_request,
)
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@ -82,12 +83,11 @@ class RegistrationAssignmentsOperations:
:param expand_registration_definition: The flag indicating whether to return the registration
definition details along with the registration assignment details. Default value is None.
:type expand_registration_definition: bool
:keyword callable cls: A custom type or function that will be passed the direct response
:return: RegistrationAssignment or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.RegistrationAssignment
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -98,25 +98,22 @@ class RegistrationAssignmentsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationAssignment]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RegistrationAssignment] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
scope=scope,
registration_assignment_id=registration_assignment_id,
expand_registration_definition=expand_registration_definition,
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) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -126,19 +123,15 @@ class RegistrationAssignmentsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("RegistrationAssignment", pipeline_response)
deserialized = self._deserialize("RegistrationAssignment", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
return deserialized # type: ignore
get.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
async def _delete_initial( # pylint: disable=inconsistent-return-statements
self, scope: str, registration_assignment_id: str, **kwargs: Any
) -> None:
error_map = {
async def _delete_initial(self, scope: str, registration_assignment_id: str, **kwargs: Any) -> AsyncIterator[bytes]:
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -149,37 +142,41 @@ class RegistrationAssignmentsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[None]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
request = build_delete_request(
_request = build_delete_request(
scope=scope,
registration_assignment_id=registration_assignment_id,
api_version=api_version,
template_url=self._delete_initial.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_decompress = kwargs.pop("decompress", True)
_stream = True
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200, 202, 204]:
try:
await response.read() # Load the body in memory and close the socket
except (StreamConsumedError, StreamClosedError):
pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {})
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
_delete_initial.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
@distributed_trace_async
async def begin_delete(self, scope: str, registration_assignment_id: str, **kwargs: Any) -> AsyncLROPoller[None]:
@ -189,14 +186,6 @@ class RegistrationAssignmentsOperations:
:type scope: str
:param registration_assignment_id: The GUID of the registration assignment. Required.
:type registration_assignment_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
this operation to not poll, or pass in your own initialized polling object for a personal
polling strategy.
:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
:rtype: ~azure.core.polling.AsyncLROPoller[None]
:raises ~azure.core.exceptions.HttpResponseError:
@ -204,15 +193,13 @@ class RegistrationAssignmentsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[None]
polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod]
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 = kwargs.pop("continuation_token", None) # type: Optional[str]
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
if cont_token is None:
raw_result = await self._delete_initial( # type: ignore
raw_result = await self._delete_initial(
scope=scope,
registration_assignment_id=registration_assignment_id,
api_version=api_version,
@ -221,37 +208,36 @@ class RegistrationAssignmentsOperations:
params=_params,
**kwargs
)
await raw_result.http_response.read() # type: ignore
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
if cls:
return cls(pipeline_response, None, {})
return cls(pipeline_response, None, {}) # type: ignore
if polling is True:
polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod
polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
polling_method = polling
if cont_token:
return AsyncLROPoller.from_continuation_token(
return AsyncLROPoller[None].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
begin_delete.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
async def _create_or_update_initial(
self,
scope: str,
registration_assignment_id: str,
request_body: Union[_models.RegistrationAssignment, IO],
request_body: Union[_models.RegistrationAssignment, IO[bytes]],
**kwargs: Any
) -> _models.RegistrationAssignment:
error_map = {
) -> AsyncIterator[bytes]:
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -262,57 +248,53 @@ class RegistrationAssignmentsOperations:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationAssignment]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(request_body, (IO, bytes)):
if isinstance(request_body, (IOBase, bytes)):
_content = request_body
else:
_json = self._serialize.body(request_body, "RegistrationAssignment")
request = build_create_or_update_request(
_request = build_create_or_update_request(
scope=scope,
registration_assignment_id=registration_assignment_id,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
template_url=self._create_or_update_initial.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_decompress = kwargs.pop("decompress", True)
_stream = True
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200, 201]:
try:
await response.read() # Load the body in memory and close the socket
except (StreamConsumedError, StreamClosedError):
pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if response.status_code == 200:
deserialized = self._deserialize("RegistrationAssignment", pipeline_response)
if response.status_code == 201:
deserialized = self._deserialize("RegistrationAssignment", pipeline_response)
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
_create_or_update_initial.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
return deserialized # type: ignore
@overload
async def begin_create_or_update(
@ -335,14 +317,6 @@ class RegistrationAssignmentsOperations:
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
this operation to not poll, or pass in your own initialized polling object for a personal
polling strategy.
:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of AsyncLROPoller that returns either RegistrationAssignment or the result
of cls(response)
:rtype:
@ -355,7 +329,7 @@ class RegistrationAssignmentsOperations:
self,
scope: str,
registration_assignment_id: str,
request_body: IO,
request_body: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@ -367,18 +341,10 @@ class RegistrationAssignmentsOperations:
:param registration_assignment_id: The GUID of the registration assignment. Required.
:type registration_assignment_id: str
:param request_body: The parameters required to create new registration assignment. Required.
:type request_body: IO
:type request_body: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
this operation to not poll, or pass in your own initialized polling object for a personal
polling strategy.
:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of AsyncLROPoller that returns either RegistrationAssignment or the result
of cls(response)
:rtype:
@ -391,7 +357,7 @@ class RegistrationAssignmentsOperations:
self,
scope: str,
registration_assignment_id: str,
request_body: Union[_models.RegistrationAssignment, IO],
request_body: Union[_models.RegistrationAssignment, IO[bytes]],
**kwargs: Any
) -> AsyncLROPoller[_models.RegistrationAssignment]:
"""Creates or updates a registration assignment.
@ -401,19 +367,8 @@ class RegistrationAssignmentsOperations:
:param registration_assignment_id: The GUID of the registration assignment. Required.
:type registration_assignment_id: str
:param request_body: The parameters required to create new registration assignment. Is either a
model type or a IO type. Required.
:type request_body: ~azure.mgmt.managedservices.models.RegistrationAssignment or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
this operation to not poll, or pass in your own initialized polling object for a personal
polling strategy.
:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
RegistrationAssignment type or a IO[bytes] type. Required.
:type request_body: ~azure.mgmt.managedservices.models.RegistrationAssignment or IO[bytes]
:return: An instance of AsyncLROPoller that returns either RegistrationAssignment or the result
of cls(response)
:rtype:
@ -423,16 +378,14 @@ class RegistrationAssignmentsOperations:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationAssignment]
polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.RegistrationAssignment] = kwargs.pop("cls", None)
polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
cont_token = kwargs.pop("continuation_token", None) # type: Optional[str]
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
if cont_token is None:
raw_result = await self._create_or_update_initial( # type: ignore
raw_result = await self._create_or_update_initial(
scope=scope,
registration_assignment_id=registration_assignment_id,
request_body=request_body,
@ -443,30 +396,31 @@ class RegistrationAssignmentsOperations:
params=_params,
**kwargs
)
await raw_result.http_response.read() # type: ignore
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response):
deserialized = self._deserialize("RegistrationAssignment", pipeline_response)
deserialized = self._deserialize("RegistrationAssignment", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
if polling is True:
polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod
polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
polling_method = polling
if cont_token:
return AsyncLROPoller.from_continuation_token(
return AsyncLROPoller[_models.RegistrationAssignment].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
begin_create_or_update.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
return AsyncLROPoller[_models.RegistrationAssignment](
self._client, raw_result, get_long_running_output, polling_method # type: ignore
)
@distributed_trace
def list(
@ -486,7 +440,6 @@ class RegistrationAssignmentsOperations:
:param filter: The filter query parameter to filter managed services resources by. Default
value is None.
:type filter: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either RegistrationAssignment or the result of
cls(response)
:rtype:
@ -496,12 +449,10 @@ class RegistrationAssignmentsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationAssignmentList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RegistrationAssignmentList] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -512,17 +463,15 @@ class RegistrationAssignmentsOperations:
def prepare_request(next_link=None):
if not next_link:
request = build_list_request(
_request = build_list_request(
scope=scope,
expand_registration_definition=expand_registration_definition,
filter=filter,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@ -534,26 +483,26 @@ class RegistrationAssignmentsOperations:
}
)
_next_request_params["api-version"] = self._config.api_version
request = HttpRequest(
_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) # type: ignore
request.method = "GET"
return request
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("RegistrationAssignmentList", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem)
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)
_request = prepare_request(next_link)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -565,5 +514,3 @@ class RegistrationAssignmentsOperations:
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
list.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments"} # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -6,8 +6,9 @@
# 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
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, Type, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@ -17,12 +18,13 @@ from azure.core.exceptions import (
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
StreamClosedError,
StreamConsumedError,
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
from azure.core.rest import HttpRequest
from azure.core.rest import AsyncHttpResponse, 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
@ -30,7 +32,6 @@ from azure.mgmt.core.exceptions import ARMErrorFormat
from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
from ... import models as _models
from ..._vendor import _convert_request
from ...operations._registration_definitions_operations import (
build_create_or_update_request,
build_delete_request,
@ -38,10 +39,10 @@ from ...operations._registration_definitions_operations import (
build_list_request,
)
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@ -73,12 +74,11 @@ class RegistrationDefinitionsOperations:
:type scope: str
:param registration_definition_id: The GUID of the registration definition. Required.
:type registration_definition_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: RegistrationDefinition or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.RegistrationDefinition
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -89,24 +89,21 @@ class RegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationDefinition]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RegistrationDefinition] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
scope=scope,
registration_definition_id=registration_definition_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) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -116,14 +113,12 @@ class RegistrationDefinitionsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("RegistrationDefinition", pipeline_response)
deserialized = self._deserialize("RegistrationDefinition", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}"} # type: ignore
return deserialized # type: ignore
@distributed_trace_async
async def delete( # pylint: disable=inconsistent-return-statements
@ -135,12 +130,11 @@ class RegistrationDefinitionsOperations:
:type registration_definition_id: str
:param scope: The scope of the resource. Required.
:type scope: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -151,24 +145,21 @@ class RegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[None]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
request = build_delete_request(
_request = build_delete_request(
registration_definition_id=registration_definition_id,
scope=scope,
api_version=api_version,
template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -179,18 +170,16 @@ class RegistrationDefinitionsOperations:
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {})
delete.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}"} # type: ignore
return cls(pipeline_response, None, {}) # type: ignore
async def _create_or_update_initial(
self,
registration_definition_id: str,
scope: str,
request_body: Union[_models.RegistrationDefinition, IO],
request_body: Union[_models.RegistrationDefinition, IO[bytes]],
**kwargs: Any
) -> _models.RegistrationDefinition:
error_map = {
) -> AsyncIterator[bytes]:
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -201,57 +190,53 @@ class RegistrationDefinitionsOperations:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationDefinition]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(request_body, (IO, bytes)):
if isinstance(request_body, (IOBase, bytes)):
_content = request_body
else:
_json = self._serialize.body(request_body, "RegistrationDefinition")
request = build_create_or_update_request(
_request = build_create_or_update_request(
registration_definition_id=registration_definition_id,
scope=scope,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
template_url=self._create_or_update_initial.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_decompress = kwargs.pop("decompress", True)
_stream = True
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200, 201]:
try:
await response.read() # Load the body in memory and close the socket
except (StreamConsumedError, StreamClosedError):
pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if response.status_code == 200:
deserialized = self._deserialize("RegistrationDefinition", pipeline_response)
if response.status_code == 201:
deserialized = self._deserialize("RegistrationDefinition", pipeline_response)
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
_create_or_update_initial.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}"} # type: ignore
return deserialized # type: ignore
@overload
async def begin_create_or_update(
@ -274,14 +259,6 @@ class RegistrationDefinitionsOperations:
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
this operation to not poll, or pass in your own initialized polling object for a personal
polling strategy.
:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of AsyncLROPoller that returns either RegistrationDefinition or the result
of cls(response)
:rtype:
@ -294,7 +271,7 @@ class RegistrationDefinitionsOperations:
self,
registration_definition_id: str,
scope: str,
request_body: IO,
request_body: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@ -306,18 +283,10 @@ class RegistrationDefinitionsOperations:
:param scope: The scope of the resource. Required.
:type scope: str
:param request_body: The parameters required to create a new registration definition. Required.
:type request_body: IO
:type request_body: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
this operation to not poll, or pass in your own initialized polling object for a personal
polling strategy.
:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of AsyncLROPoller that returns either RegistrationDefinition or the result
of cls(response)
:rtype:
@ -330,7 +299,7 @@ class RegistrationDefinitionsOperations:
self,
registration_definition_id: str,
scope: str,
request_body: Union[_models.RegistrationDefinition, IO],
request_body: Union[_models.RegistrationDefinition, IO[bytes]],
**kwargs: Any
) -> AsyncLROPoller[_models.RegistrationDefinition]:
"""Creates or updates a registration definition.
@ -340,19 +309,8 @@ class RegistrationDefinitionsOperations:
:param scope: The scope of the resource. Required.
:type scope: str
:param request_body: The parameters required to create a new registration definition. Is either
a model type or a IO type. Required.
:type request_body: ~azure.mgmt.managedservices.models.RegistrationDefinition or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
this operation to not poll, or pass in your own initialized polling object for a personal
polling strategy.
:paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
a RegistrationDefinition type or a IO[bytes] type. Required.
:type request_body: ~azure.mgmt.managedservices.models.RegistrationDefinition or IO[bytes]
:return: An instance of AsyncLROPoller that returns either RegistrationDefinition or the result
of cls(response)
:rtype:
@ -362,16 +320,14 @@ class RegistrationDefinitionsOperations:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationDefinition]
polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.RegistrationDefinition] = kwargs.pop("cls", None)
polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
cont_token = kwargs.pop("continuation_token", None) # type: Optional[str]
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
if cont_token is None:
raw_result = await self._create_or_update_initial( # type: ignore
raw_result = await self._create_or_update_initial(
registration_definition_id=registration_definition_id,
scope=scope,
request_body=request_body,
@ -382,30 +338,31 @@ class RegistrationDefinitionsOperations:
params=_params,
**kwargs
)
await raw_result.http_response.read() # type: ignore
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response):
deserialized = self._deserialize("RegistrationDefinition", pipeline_response)
deserialized = self._deserialize("RegistrationDefinition", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
if polling is True:
polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod
polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
polling_method = polling
if cont_token:
return AsyncLROPoller.from_continuation_token(
return AsyncLROPoller[_models.RegistrationDefinition].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
begin_create_or_update.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}"} # type: ignore
return AsyncLROPoller[_models.RegistrationDefinition](
self._client, raw_result, get_long_running_output, polling_method # type: ignore
)
@distributed_trace
def list(
@ -418,7 +375,6 @@ class RegistrationDefinitionsOperations:
:param filter: The filter query parameter to filter managed services resources by. Default
value is None.
:type filter: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either RegistrationDefinition or the result of
cls(response)
:rtype:
@ -428,12 +384,10 @@ class RegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationDefinitionList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RegistrationDefinitionList] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -444,16 +398,14 @@ class RegistrationDefinitionsOperations:
def prepare_request(next_link=None):
if not next_link:
request = build_list_request(
_request = build_list_request(
scope=scope,
filter=filter,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@ -465,26 +417,26 @@ class RegistrationDefinitionsOperations:
}
)
_next_request_params["api-version"] = self._config.api_version
request = HttpRequest(
_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) # type: ignore
request.method = "GET"
return request
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("RegistrationDefinitionList", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem)
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)
_request = prepare_request(next_link)
pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -496,5 +448,3 @@ class RegistrationDefinitionsOperations:
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
list.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions"} # type: ignore

Просмотреть файл

@ -33,7 +33,7 @@ from ._managed_services_client_enums import CreatedByType
from ._managed_services_client_enums import MultiFactorAuthProvider
from ._managed_services_client_enums import ProvisioningState
from ._patch import __all__ as _patch_all
from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import
from ._patch import * # pylint: disable=unused-wildcard-import
from ._patch import patch_sdk as _patch_sdk
__all__ = [

Просмотреть файл

@ -8,7 +8,7 @@
# --------------------------------------------------------------------------
import datetime
from typing import List, Optional, TYPE_CHECKING, Union
from typing import Any, List, Optional, TYPE_CHECKING, Union
from .. import _serialization
@ -18,9 +18,10 @@ if TYPE_CHECKING:
class Authorization(_serialization.Model):
"""The Azure Active Directory principal identifier and Azure built-in role that describes the access the principal will receive on the delegated resource in the managed tenant.
"""The Azure Active Directory principal identifier and Azure built-in role that describes the
access the principal will receive on the delegated resource in the managed tenant.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar principal_id: The identifier of the Azure Active Directory principal. Required.
:vartype principal_id: str
@ -56,8 +57,8 @@ class Authorization(_serialization.Model):
role_definition_id: str,
principal_id_display_name: Optional[str] = None,
delegated_role_definition_ids: Optional[List[str]] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword principal_id: The identifier of the Azure Active Directory principal. Required.
:paramtype principal_id: str
@ -81,9 +82,10 @@ class Authorization(_serialization.Model):
class EligibleApprover(_serialization.Model):
"""Defines the Azure Active Directory principal that can approve any just-in-time access requests by the principal defined in the EligibleAuthorization.
"""Defines the Azure Active Directory principal that can approve any just-in-time access requests
by the principal defined in the EligibleAuthorization.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar principal_id: The identifier of the Azure Active Directory principal. Required.
:vartype principal_id: str
@ -100,7 +102,7 @@ class EligibleApprover(_serialization.Model):
"principal_id_display_name": {"key": "principalIdDisplayName", "type": "str"},
}
def __init__(self, *, principal_id: str, principal_id_display_name: Optional[str] = None, **kwargs):
def __init__(self, *, principal_id: str, principal_id_display_name: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword principal_id: The identifier of the Azure Active Directory principal. Required.
:paramtype principal_id: str
@ -113,9 +115,11 @@ class EligibleApprover(_serialization.Model):
class EligibleAuthorization(_serialization.Model):
"""The Azure Active Directory principal identifier, Azure built-in role, and just-in-time access policy that describes the just-in-time access the principal will receive on the delegated resource in the managed tenant.
"""The Azure Active Directory principal identifier, Azure built-in role, and just-in-time access
policy that describes the just-in-time access the principal will receive on the delegated
resource in the managed tenant.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar principal_id: The identifier of the Azure Active Directory principal. Required.
:vartype principal_id: str
@ -148,8 +152,8 @@ class EligibleAuthorization(_serialization.Model):
role_definition_id: str,
principal_id_display_name: Optional[str] = None,
just_in_time_access_policy: Optional["_models.JustInTimeAccessPolicy"] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword principal_id: The identifier of the Azure Active Directory principal. Required.
:paramtype principal_id: str
@ -173,7 +177,7 @@ class EligibleAuthorization(_serialization.Model):
class ErrorDefinition(_serialization.Model):
"""The error response indicating why the incoming request wasnt able to be processed.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar code: The error code. Required.
:vartype code: str
@ -194,7 +198,9 @@ class ErrorDefinition(_serialization.Model):
"details": {"key": "details", "type": "[ErrorDefinition]"},
}
def __init__(self, *, code: str, message: str, details: Optional[List["_models.ErrorDefinition"]] = None, **kwargs):
def __init__(
self, *, code: str, message: str, details: Optional[List["_models.ErrorDefinition"]] = None, **kwargs: Any
) -> None:
"""
:keyword code: The error code. Required.
:paramtype code: str
@ -220,7 +226,7 @@ class ErrorResponse(_serialization.Model):
"error": {"key": "error", "type": "ErrorDefinition"},
}
def __init__(self, *, error: Optional["_models.ErrorDefinition"] = None, **kwargs):
def __init__(self, *, error: Optional["_models.ErrorDefinition"] = None, **kwargs: Any) -> None:
"""
:keyword error: The error details.
:paramtype error: ~azure.mgmt.managedservices.models.ErrorDefinition
@ -232,7 +238,7 @@ class ErrorResponse(_serialization.Model):
class JustInTimeAccessPolicy(_serialization.Model):
"""Just-in-time access policy setting.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar multi_factor_auth_provider: The multi-factor authorization provider to be used for
just-in-time access requests. Known values are: "Azure" and "None".
@ -262,8 +268,8 @@ class JustInTimeAccessPolicy(_serialization.Model):
multi_factor_auth_provider: Union[str, "_models.MultiFactorAuthProvider"] = "None",
maximum_activation_duration: datetime.timedelta = "PT8H",
managed_by_tenant_approvers: Optional[List["_models.EligibleApprover"]] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword multi_factor_auth_provider: The multi-factor authorization provider to be used for
just-in-time access requests. Known values are: "Azure" and "None".
@ -321,8 +327,8 @@ class MarketplaceRegistrationDefinition(_serialization.Model):
*,
properties: Optional["_models.MarketplaceRegistrationDefinitionProperties"] = None,
plan: Optional["_models.Plan"] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword properties: The properties of the marketplace registration definition.
:paramtype properties:
@ -359,17 +365,17 @@ class MarketplaceRegistrationDefinitionList(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs):
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
self.next_link = None
class MarketplaceRegistrationDefinitionProperties(_serialization.Model):
class MarketplaceRegistrationDefinitionProperties(_serialization.Model): # pylint: disable=name-too-long
"""The properties of the marketplace registration definition.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar managed_by_tenant_id: The identifier of the managedBy tenant. Required.
:vartype managed_by_tenant_id: str
@ -413,8 +419,8 @@ class MarketplaceRegistrationDefinitionProperties(_serialization.Model):
offer_display_name: Optional[str] = None,
publisher_display_name: Optional[str] = None,
plan_display_name: Optional[str] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword managed_by_tenant_id: The identifier of the managedBy tenant. Required.
:paramtype managed_by_tenant_id: str
@ -464,7 +470,7 @@ class Operation(_serialization.Model):
"display": {"key": "display", "type": "OperationDisplay"},
}
def __init__(self, **kwargs):
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.name = None
@ -498,8 +504,8 @@ class OperationDisplay(_serialization.Model):
resource: Optional[str] = None,
operation: Optional[str] = None,
description: Optional[str] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword provider: The service provider.
:paramtype provider: str
@ -534,7 +540,7 @@ class OperationList(_serialization.Model):
"value": {"key": "value", "type": "[Operation]"},
}
def __init__(self, **kwargs):
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@ -543,7 +549,7 @@ class OperationList(_serialization.Model):
class Plan(_serialization.Model):
"""The details for the Managed Services offers plan in Azure Marketplace.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar name: Azure Marketplace plan name. Required.
:vartype name: str
@ -569,7 +575,7 @@ class Plan(_serialization.Model):
"version": {"key": "version", "type": "str"},
}
def __init__(self, *, name: str, publisher: str, product: str, version: str, **kwargs):
def __init__(self, *, name: str, publisher: str, product: str, version: str, **kwargs: Any) -> None:
"""
:keyword name: Azure Marketplace plan name. Required.
:paramtype name: str
@ -619,7 +625,9 @@ class RegistrationAssignment(_serialization.Model):
"system_data": {"key": "systemData", "type": "SystemData"},
}
def __init__(self, *, properties: Optional["_models.RegistrationAssignmentProperties"] = None, **kwargs):
def __init__(
self, *, properties: Optional["_models.RegistrationAssignmentProperties"] = None, **kwargs: Any
) -> None:
"""
:keyword properties: The properties of a registration assignment.
:paramtype properties: ~azure.mgmt.managedservices.models.RegistrationAssignmentProperties
@ -653,7 +661,7 @@ class RegistrationAssignmentList(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs):
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@ -665,7 +673,7 @@ class RegistrationAssignmentProperties(_serialization.Model):
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar registration_definition_id: The fully qualified path of the registration definition.
Required.
@ -695,7 +703,7 @@ class RegistrationAssignmentProperties(_serialization.Model):
},
}
def __init__(self, *, registration_definition_id: str, **kwargs):
def __init__(self, *, registration_definition_id: str, **kwargs: Any) -> None:
"""
:keyword registration_definition_id: The fully qualified path of the registration definition.
Required.
@ -707,7 +715,7 @@ class RegistrationAssignmentProperties(_serialization.Model):
self.registration_definition = None
class RegistrationAssignmentPropertiesRegistrationDefinition(_serialization.Model):
class RegistrationAssignmentPropertiesRegistrationDefinition(_serialization.Model): # pylint: disable=name-too-long
"""The registration definition associated with the registration assignment.
Variables are only populated by the server, and will be ignored when sending a request.
@ -749,8 +757,8 @@ class RegistrationAssignmentPropertiesRegistrationDefinition(_serialization.Mode
*,
properties: Optional["_models.RegistrationAssignmentPropertiesRegistrationDefinitionProperties"] = None,
plan: Optional["_models.Plan"] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword properties: The properties of the registration definition associated with the
registration assignment.
@ -768,7 +776,9 @@ class RegistrationAssignmentPropertiesRegistrationDefinition(_serialization.Mode
self.system_data = None
class RegistrationAssignmentPropertiesRegistrationDefinitionProperties(_serialization.Model):
class RegistrationAssignmentPropertiesRegistrationDefinitionProperties(
_serialization.Model
): # pylint: disable=name-too-long
"""The properties of the registration definition associated with the registration assignment.
:ivar description: The description of the registration definition.
@ -822,8 +832,8 @@ class RegistrationAssignmentPropertiesRegistrationDefinitionProperties(_serializ
managee_tenant_name: Optional[str] = None,
managed_by_tenant_id: Optional[str] = None,
managed_by_tenant_name: Optional[str] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword description: The description of the registration definition.
:paramtype description: str
@ -903,8 +913,8 @@ class RegistrationDefinition(_serialization.Model):
*,
properties: Optional["_models.RegistrationDefinitionProperties"] = None,
plan: Optional["_models.Plan"] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword properties: The properties of a registration definition.
:paramtype properties: ~azure.mgmt.managedservices.models.RegistrationDefinitionProperties
@ -941,7 +951,7 @@ class RegistrationDefinitionList(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, **kwargs):
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@ -953,7 +963,7 @@ class RegistrationDefinitionProperties(_serialization.Model):
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
All required parameters must be populated in order to send to server.
:ivar description: The description of the registration definition.
:vartype description: str
@ -1011,8 +1021,8 @@ class RegistrationDefinitionProperties(_serialization.Model):
description: Optional[str] = None,
eligible_authorizations: Optional[List["_models.EligibleAuthorization"]] = None,
registration_definition_name: Optional[str] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword description: The description of the registration definition.
:paramtype description: str
@ -1079,8 +1089,8 @@ class SystemData(_serialization.Model):
last_modified_by: Optional[str] = None,
last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
last_modified_at: Optional[datetime.datetime] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword created_by: The identity that created the resource.
:paramtype created_by: str

Просмотреть файл

@ -16,7 +16,7 @@ from ._operations import Operations
from ._operations_with_scope_operations import OperationsWithScopeOperations
from ._patch import __all__ as _patch_all
from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import
from ._patch import * # pylint: disable=unused-wildcard-import
from ._patch import patch_sdk as _patch_sdk
__all__ = [

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
from typing import Any, Callable, Dict, Iterable, Optional, Type, TypeVar
import urllib.parse
from azure.core.exceptions import (
@ -20,20 +20,18 @@ from azure.core.exceptions import (
)
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.rest import HttpRequest, HttpResponse
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, _format_url_section
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@ -45,7 +43,7 @@ def build_list_request(scope: str, *, filter: Optional[str] = None, **kwargs: An
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -54,7 +52,7 @@ def build_list_request(scope: str, *, filter: Optional[str] = None, **kwargs: An
"scope": _SERIALIZER.url("scope", scope, "str", skip_quote=True),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
if filter is not None:
@ -71,7 +69,7 @@ def build_get_request(scope: str, marketplace_identifier: str, **kwargs: Any) ->
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -84,7 +82,7 @@ def build_get_request(scope: str, marketplace_identifier: str, **kwargs: Any) ->
"marketplaceIdentifier": _SERIALIZER.url("marketplace_identifier", marketplace_identifier, "str"),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -95,7 +93,7 @@ def build_get_request(scope: str, marketplace_identifier: str, **kwargs: Any) ->
return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
class MarketplaceRegistrationDefinitionsOperations:
class MarketplaceRegistrationDefinitionsOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
@ -125,7 +123,6 @@ class MarketplaceRegistrationDefinitionsOperations:
:param filter: The filter query parameter to filter managed services resources by. Default
value is None.
:type filter: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either MarketplaceRegistrationDefinition or the result of
cls(response)
:rtype:
@ -135,12 +132,10 @@ class MarketplaceRegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.MarketplaceRegistrationDefinitionList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MarketplaceRegistrationDefinitionList] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -151,16 +146,14 @@ class MarketplaceRegistrationDefinitionsOperations:
def prepare_request(next_link=None):
if not next_link:
request = build_list_request(
_request = build_list_request(
scope=scope,
filter=filter,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@ -172,26 +165,26 @@ class MarketplaceRegistrationDefinitionsOperations:
}
)
_next_request_params["api-version"] = self._config.api_version
request = HttpRequest(
_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) # type: ignore
request.method = "GET"
return request
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("MarketplaceRegistrationDefinitionList", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem)
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)
_request = prepare_request(next_link)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -204,8 +197,6 @@ class MarketplaceRegistrationDefinitionsOperations:
return ItemPaged(get_next, extract_data)
list.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions"} # type: ignore
@distributed_trace
def get(self, scope: str, marketplace_identifier: str, **kwargs: Any) -> _models.MarketplaceRegistrationDefinition:
"""Get the marketplace registration definition for the marketplace identifier.
@ -217,12 +208,11 @@ class MarketplaceRegistrationDefinitionsOperations:
{publisher}.{product[-preview]}.{planName} or {publisher}.{product[-preview]} or {publisher}).
Required.
:type marketplace_identifier: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: MarketplaceRegistrationDefinition or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.MarketplaceRegistrationDefinition
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -233,24 +223,21 @@ class MarketplaceRegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.MarketplaceRegistrationDefinition]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MarketplaceRegistrationDefinition] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
scope=scope,
marketplace_identifier=marketplace_identifier,
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) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -260,11 +247,9 @@ class MarketplaceRegistrationDefinitionsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("MarketplaceRegistrationDefinition", pipeline_response)
deserialized = self._deserialize("MarketplaceRegistrationDefinition", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/{marketplaceIdentifier}"} # type: ignore
return deserialized # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
from typing import Any, Callable, Dict, Iterable, Optional, Type, TypeVar
import urllib.parse
from azure.core.exceptions import (
@ -20,20 +20,18 @@ from azure.core.exceptions import (
)
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.rest import HttpRequest, HttpResponse
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, _format_url_section
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@ -45,7 +43,7 @@ def build_list_request(*, filter: Optional[str] = None, **kwargs: Any) -> HttpRe
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -66,7 +64,7 @@ def build_get_request(marketplace_identifier: str, **kwargs: Any) -> HttpRequest
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -78,7 +76,7 @@ def build_get_request(marketplace_identifier: str, **kwargs: Any) -> HttpRequest
"marketplaceIdentifier": _SERIALIZER.url("marketplace_identifier", marketplace_identifier, "str"),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -89,7 +87,7 @@ def build_get_request(marketplace_identifier: str, **kwargs: Any) -> HttpRequest
return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
class MarketplaceRegistrationDefinitionsWithoutScopeOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
@ -117,7 +115,6 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
:param filter: The filter query parameter to filter managed services resources by. Default
value is None.
:type filter: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either MarketplaceRegistrationDefinition or the result of
cls(response)
:rtype:
@ -127,12 +124,10 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.MarketplaceRegistrationDefinitionList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MarketplaceRegistrationDefinitionList] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -143,15 +138,13 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
def prepare_request(next_link=None):
if not next_link:
request = build_list_request(
_request = build_list_request(
filter=filter,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@ -163,26 +156,26 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
}
)
_next_request_params["api-version"] = self._config.api_version
request = HttpRequest(
_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) # type: ignore
request.method = "GET"
return request
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("MarketplaceRegistrationDefinitionList", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem)
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)
_request = prepare_request(next_link)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -195,8 +188,6 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
return ItemPaged(get_next, extract_data)
list.metadata = {"url": "/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions"} # type: ignore
@distributed_trace
def get(self, marketplace_identifier: str, **kwargs: Any) -> _models.MarketplaceRegistrationDefinition:
"""Get the marketplace registration definition for the marketplace identifier.
@ -206,12 +197,11 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
{publisher}.{product[-preview]}.{planName} or {publisher}.{product[-preview]} or {publisher}).
Required.
:type marketplace_identifier: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: MarketplaceRegistrationDefinition or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.MarketplaceRegistrationDefinition
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -222,23 +212,20 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.MarketplaceRegistrationDefinition]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MarketplaceRegistrationDefinition] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
marketplace_identifier=marketplace_identifier,
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) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -248,11 +235,9 @@ class MarketplaceRegistrationDefinitionsWithoutScopeOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("MarketplaceRegistrationDefinition", pipeline_response)
deserialized = self._deserialize("MarketplaceRegistrationDefinition", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get.metadata = {"url": "/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/{marketplaceIdentifier}"} # type: ignore
return deserialized # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, Callable, Dict, Optional, TypeVar
from typing import Any, Callable, Dict, Optional, Type, TypeVar
from azure.core.exceptions import (
ClientAuthenticationError,
@ -18,20 +18,18 @@ from azure.core.exceptions import (
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import HttpResponse
from azure.core.rest import HttpRequest
from azure.core.rest import HttpRequest, HttpResponse
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
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@ -43,7 +41,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 = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -81,12 +79,11 @@ class Operations:
def list(self, **kwargs: Any) -> _models.OperationList:
"""Gets a list of the operations.
:keyword callable cls: A custom type or function that will be passed the direct response
:return: OperationList or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.OperationList
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -97,22 +94,19 @@ class Operations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.OperationList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OperationList] = kwargs.pop("cls", None)
request = build_list_request(
_request = build_list_request(
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -122,11 +116,9 @@ class Operations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("OperationList", pipeline_response)
deserialized = self._deserialize("OperationList", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
list.metadata = {"url": "/providers/Microsoft.ManagedServices/operations"} # type: ignore
return deserialized # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, Callable, Dict, Optional, TypeVar
from typing import Any, Callable, Dict, Optional, Type, TypeVar
from azure.core.exceptions import (
ClientAuthenticationError,
@ -18,20 +18,18 @@ from azure.core.exceptions import (
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import HttpResponse
from azure.core.rest import HttpRequest
from azure.core.rest import HttpRequest, HttpResponse
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, _format_url_section
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@ -43,7 +41,7 @@ def build_list_request(scope: str, **kwargs: Any) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -52,7 +50,7 @@ def build_list_request(scope: str, **kwargs: Any) -> HttpRequest:
"scope": _SERIALIZER.url("scope", scope, "str", skip_quote=True),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -88,12 +86,11 @@ class OperationsWithScopeOperations:
:param scope: The scope of the resource. Required.
:type scope: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: OperationList or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.OperationList
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -104,23 +101,20 @@ class OperationsWithScopeOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.OperationList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OperationList] = kwargs.pop("cls", None)
request = build_list_request(
_request = build_list_request(
scope=scope,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -130,11 +124,9 @@ class OperationsWithScopeOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("OperationList", pipeline_response)
deserialized = self._deserialize("OperationList", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
list.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/operations"} # type: ignore
return deserialized # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -6,8 +6,9 @@
# 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
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, Type, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.exceptions import (
@ -16,13 +17,14 @@ from azure.core.exceptions import (
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
StreamClosedError,
StreamConsumedError,
map_error,
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import HttpResponse
from azure.core.polling import LROPoller, NoPolling, PollingMethod
from azure.core.rest import HttpRequest
from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
@ -30,12 +32,11 @@ from azure.mgmt.core.polling.arm_polling import ARMPolling
from .. import models as _models
from .._serialization import Serializer
from .._vendor import _convert_request, _format_url_section
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@ -49,7 +50,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -62,7 +63,7 @@ def build_get_request(
"registrationAssignmentId": _SERIALIZER.url("registration_assignment_id", registration_assignment_id, "str"),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
if expand_registration_definition is not None:
@ -81,7 +82,7 @@ def build_delete_request(scope: str, registration_assignment_id: str, **kwargs:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -94,7 +95,7 @@ def build_delete_request(scope: str, registration_assignment_id: str, **kwargs:
"registrationAssignmentId": _SERIALIZER.url("registration_assignment_id", registration_assignment_id, "str"),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -109,8 +110,8 @@ def build_create_or_update_request(scope: str, registration_assignment_id: str,
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -123,7 +124,7 @@ def build_create_or_update_request(scope: str, registration_assignment_id: str,
"registrationAssignmentId": _SERIALIZER.url("registration_assignment_id", registration_assignment_id, "str"),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -142,7 +143,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -151,7 +152,7 @@ def build_list_request(
"scope": _SERIALIZER.url("scope", scope, "str", skip_quote=True),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
if expand_registration_definition is not None:
@ -204,12 +205,11 @@ class RegistrationAssignmentsOperations:
:param expand_registration_definition: The flag indicating whether to return the registration
definition details along with the registration assignment details. Default value is None.
:type expand_registration_definition: bool
:keyword callable cls: A custom type or function that will be passed the direct response
:return: RegistrationAssignment or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.RegistrationAssignment
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -220,25 +220,22 @@ class RegistrationAssignmentsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationAssignment]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RegistrationAssignment] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
scope=scope,
registration_assignment_id=registration_assignment_id,
expand_registration_definition=expand_registration_definition,
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) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -248,19 +245,15 @@ class RegistrationAssignmentsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("RegistrationAssignment", pipeline_response)
deserialized = self._deserialize("RegistrationAssignment", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
return deserialized # type: ignore
get.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
def _delete_initial( # pylint: disable=inconsistent-return-statements
self, scope: str, registration_assignment_id: str, **kwargs: Any
) -> None:
error_map = {
def _delete_initial(self, scope: str, registration_assignment_id: str, **kwargs: Any) -> Iterator[bytes]:
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -271,37 +264,41 @@ class RegistrationAssignmentsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[None]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None)
request = build_delete_request(
_request = build_delete_request(
scope=scope,
registration_assignment_id=registration_assignment_id,
api_version=api_version,
template_url=self._delete_initial.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_decompress = kwargs.pop("decompress", True)
_stream = True
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200, 202, 204]:
try:
response.read() # Load the body in memory and close the socket
except (StreamConsumedError, StreamClosedError):
pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {})
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
_delete_initial.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
@distributed_trace
def begin_delete(self, scope: str, registration_assignment_id: str, **kwargs: Any) -> LROPoller[None]:
@ -311,14 +308,6 @@ class RegistrationAssignmentsOperations:
:type scope: str
:param registration_assignment_id: The GUID of the registration assignment. Required.
:type registration_assignment_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
operation to not poll, or pass in your own initialized polling object for a personal polling
strategy.
:paramtype polling: bool or ~azure.core.polling.PollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of LROPoller that returns either None or the result of cls(response)
:rtype: ~azure.core.polling.LROPoller[None]
:raises ~azure.core.exceptions.HttpResponseError:
@ -326,15 +315,13 @@ class RegistrationAssignmentsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[None]
polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod]
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 = kwargs.pop("continuation_token", None) # type: Optional[str]
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
if cont_token is None:
raw_result = self._delete_initial( # type: ignore
raw_result = self._delete_initial(
scope=scope,
registration_assignment_id=registration_assignment_id,
api_version=api_version,
@ -343,37 +330,36 @@ class RegistrationAssignmentsOperations:
params=_params,
**kwargs
)
raw_result.http_response.read() # type: ignore
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
if cls:
return cls(pipeline_response, None, {})
return cls(pipeline_response, None, {}) # type: ignore
if polling is True:
polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod
polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
polling_method = polling
if cont_token:
return LROPoller.from_continuation_token(
return LROPoller[None].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
begin_delete.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
def _create_or_update_initial(
self,
scope: str,
registration_assignment_id: str,
request_body: Union[_models.RegistrationAssignment, IO],
request_body: Union[_models.RegistrationAssignment, IO[bytes]],
**kwargs: Any
) -> _models.RegistrationAssignment:
error_map = {
) -> Iterator[bytes]:
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -384,57 +370,53 @@ class RegistrationAssignmentsOperations:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationAssignment]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(request_body, (IO, bytes)):
if isinstance(request_body, (IOBase, bytes)):
_content = request_body
else:
_json = self._serialize.body(request_body, "RegistrationAssignment")
request = build_create_or_update_request(
_request = build_create_or_update_request(
scope=scope,
registration_assignment_id=registration_assignment_id,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
template_url=self._create_or_update_initial.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_decompress = kwargs.pop("decompress", True)
_stream = True
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200, 201]:
try:
response.read() # Load the body in memory and close the socket
except (StreamConsumedError, StreamClosedError):
pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if response.status_code == 200:
deserialized = self._deserialize("RegistrationAssignment", pipeline_response)
if response.status_code == 201:
deserialized = self._deserialize("RegistrationAssignment", pipeline_response)
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
_create_or_update_initial.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
return deserialized # type: ignore
@overload
def begin_create_or_update(
@ -457,14 +439,6 @@ class RegistrationAssignmentsOperations:
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
operation to not poll, or pass in your own initialized polling object for a personal polling
strategy.
:paramtype polling: bool or ~azure.core.polling.PollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of LROPoller that returns either RegistrationAssignment or the result of
cls(response)
:rtype:
@ -477,7 +451,7 @@ class RegistrationAssignmentsOperations:
self,
scope: str,
registration_assignment_id: str,
request_body: IO,
request_body: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@ -489,18 +463,10 @@ class RegistrationAssignmentsOperations:
:param registration_assignment_id: The GUID of the registration assignment. Required.
:type registration_assignment_id: str
:param request_body: The parameters required to create new registration assignment. Required.
:type request_body: IO
:type request_body: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
operation to not poll, or pass in your own initialized polling object for a personal polling
strategy.
:paramtype polling: bool or ~azure.core.polling.PollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of LROPoller that returns either RegistrationAssignment or the result of
cls(response)
:rtype:
@ -513,7 +479,7 @@ class RegistrationAssignmentsOperations:
self,
scope: str,
registration_assignment_id: str,
request_body: Union[_models.RegistrationAssignment, IO],
request_body: Union[_models.RegistrationAssignment, IO[bytes]],
**kwargs: Any
) -> LROPoller[_models.RegistrationAssignment]:
"""Creates or updates a registration assignment.
@ -523,19 +489,8 @@ class RegistrationAssignmentsOperations:
:param registration_assignment_id: The GUID of the registration assignment. Required.
:type registration_assignment_id: str
:param request_body: The parameters required to create new registration assignment. Is either a
model type or a IO type. Required.
:type request_body: ~azure.mgmt.managedservices.models.RegistrationAssignment or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
operation to not poll, or pass in your own initialized polling object for a personal polling
strategy.
:paramtype polling: bool or ~azure.core.polling.PollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
RegistrationAssignment type or a IO[bytes] type. Required.
:type request_body: ~azure.mgmt.managedservices.models.RegistrationAssignment or IO[bytes]
:return: An instance of LROPoller that returns either RegistrationAssignment or the result of
cls(response)
:rtype:
@ -545,16 +500,14 @@ class RegistrationAssignmentsOperations:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationAssignment]
polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.RegistrationAssignment] = kwargs.pop("cls", None)
polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
cont_token = kwargs.pop("continuation_token", None) # type: Optional[str]
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
if cont_token is None:
raw_result = self._create_or_update_initial( # type: ignore
raw_result = self._create_or_update_initial(
scope=scope,
registration_assignment_id=registration_assignment_id,
request_body=request_body,
@ -565,30 +518,31 @@ class RegistrationAssignmentsOperations:
params=_params,
**kwargs
)
raw_result.http_response.read() # type: ignore
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response):
deserialized = self._deserialize("RegistrationAssignment", pipeline_response)
deserialized = self._deserialize("RegistrationAssignment", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
if polling is True:
polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod
polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
polling_method = polling
if cont_token:
return LROPoller.from_continuation_token(
return LROPoller[_models.RegistrationAssignment].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
begin_create_or_update.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}"} # type: ignore
return LROPoller[_models.RegistrationAssignment](
self._client, raw_result, get_long_running_output, polling_method # type: ignore
)
@distributed_trace
def list(
@ -608,7 +562,6 @@ class RegistrationAssignmentsOperations:
:param filter: The filter query parameter to filter managed services resources by. Default
value is None.
:type filter: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either RegistrationAssignment or the result of
cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.managedservices.models.RegistrationAssignment]
@ -617,12 +570,10 @@ class RegistrationAssignmentsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationAssignmentList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RegistrationAssignmentList] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -633,17 +584,15 @@ class RegistrationAssignmentsOperations:
def prepare_request(next_link=None):
if not next_link:
request = build_list_request(
_request = build_list_request(
scope=scope,
expand_registration_definition=expand_registration_definition,
filter=filter,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@ -655,26 +604,26 @@ class RegistrationAssignmentsOperations:
}
)
_next_request_params["api-version"] = self._config.api_version
request = HttpRequest(
_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) # type: ignore
request.method = "GET"
return request
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("RegistrationAssignmentList", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem)
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)
_request = prepare_request(next_link)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -686,5 +635,3 @@ class RegistrationAssignmentsOperations:
return pipeline_response
return ItemPaged(get_next, extract_data)
list.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments"} # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,too-many-statements
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@ -6,8 +6,9 @@
# 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
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, Type, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.exceptions import (
@ -16,13 +17,14 @@ from azure.core.exceptions import (
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
StreamClosedError,
StreamConsumedError,
map_error,
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import HttpResponse
from azure.core.polling import LROPoller, NoPolling, PollingMethod
from azure.core.rest import HttpRequest
from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
@ -30,12 +32,11 @@ from azure.mgmt.core.polling.arm_polling import ARMPolling
from .. import models as _models
from .._serialization import Serializer
from .._vendor import _convert_request, _format_url_section
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@ -47,7 +48,7 @@ def build_get_request(scope: str, registration_definition_id: str, **kwargs: Any
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -60,7 +61,7 @@ def build_get_request(scope: str, registration_definition_id: str, **kwargs: Any
"registrationDefinitionId": _SERIALIZER.url("registration_definition_id", registration_definition_id, "str"),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -75,7 +76,7 @@ def build_delete_request(registration_definition_id: str, scope: str, **kwargs:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -88,7 +89,7 @@ def build_delete_request(registration_definition_id: str, scope: str, **kwargs:
"scope": _SERIALIZER.url("scope", scope, "str", skip_quote=True),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -103,8 +104,8 @@ def build_create_or_update_request(registration_definition_id: str, scope: str,
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -117,7 +118,7 @@ def build_create_or_update_request(registration_definition_id: str, scope: str,
"scope": _SERIALIZER.url("scope", scope, "str", skip_quote=True),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -134,7 +135,7 @@ def build_list_request(scope: str, *, filter: Optional[str] = None, **kwargs: An
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01")) # type: Literal["2022-10-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -143,7 +144,7 @@ def build_list_request(scope: str, *, filter: Optional[str] = None, **kwargs: An
"scope": _SERIALIZER.url("scope", scope, "str", skip_quote=True),
}
_url = _format_url_section(_url, **path_format_arguments)
_url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -183,12 +184,11 @@ class RegistrationDefinitionsOperations:
:type scope: str
:param registration_definition_id: The GUID of the registration definition. Required.
:type registration_definition_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: RegistrationDefinition or the result of cls(response)
:rtype: ~azure.mgmt.managedservices.models.RegistrationDefinition
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -199,24 +199,21 @@ class RegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationDefinition]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RegistrationDefinition] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
scope=scope,
registration_definition_id=registration_definition_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) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -226,14 +223,12 @@ class RegistrationDefinitionsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("RegistrationDefinition", pipeline_response)
deserialized = self._deserialize("RegistrationDefinition", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}"} # type: ignore
return deserialized # type: ignore
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
@ -245,12 +240,11 @@ class RegistrationDefinitionsOperations:
:type registration_definition_id: str
:param scope: The scope of the resource. Required.
:type scope: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -261,24 +255,21 @@ class RegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[None]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
request = build_delete_request(
_request = build_delete_request(
registration_definition_id=registration_definition_id,
scope=scope,
api_version=api_version,
template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -289,18 +280,16 @@ class RegistrationDefinitionsOperations:
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {})
delete.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}"} # type: ignore
return cls(pipeline_response, None, {}) # type: ignore
def _create_or_update_initial(
self,
registration_definition_id: str,
scope: str,
request_body: Union[_models.RegistrationDefinition, IO],
request_body: Union[_models.RegistrationDefinition, IO[bytes]],
**kwargs: Any
) -> _models.RegistrationDefinition:
error_map = {
) -> Iterator[bytes]:
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -311,57 +300,53 @@ class RegistrationDefinitionsOperations:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationDefinition]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(request_body, (IO, bytes)):
if isinstance(request_body, (IOBase, bytes)):
_content = request_body
else:
_json = self._serialize.body(request_body, "RegistrationDefinition")
request = build_create_or_update_request(
_request = build_create_or_update_request(
registration_definition_id=registration_definition_id,
scope=scope,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
template_url=self._create_or_update_initial.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_decompress = kwargs.pop("decompress", True)
_stream = True
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200, 201]:
try:
response.read() # Load the body in memory and close the socket
except (StreamConsumedError, StreamClosedError):
pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if response.status_code == 200:
deserialized = self._deserialize("RegistrationDefinition", pipeline_response)
if response.status_code == 201:
deserialized = self._deserialize("RegistrationDefinition", pipeline_response)
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
_create_or_update_initial.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}"} # type: ignore
return deserialized # type: ignore
@overload
def begin_create_or_update(
@ -384,14 +369,6 @@ class RegistrationDefinitionsOperations:
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
operation to not poll, or pass in your own initialized polling object for a personal polling
strategy.
:paramtype polling: bool or ~azure.core.polling.PollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of LROPoller that returns either RegistrationDefinition or the result of
cls(response)
:rtype:
@ -404,7 +381,7 @@ class RegistrationDefinitionsOperations:
self,
registration_definition_id: str,
scope: str,
request_body: IO,
request_body: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@ -416,18 +393,10 @@ class RegistrationDefinitionsOperations:
:param scope: The scope of the resource. Required.
:type scope: str
:param request_body: The parameters required to create a new registration definition. Required.
:type request_body: IO
:type request_body: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
operation to not poll, or pass in your own initialized polling object for a personal polling
strategy.
:paramtype polling: bool or ~azure.core.polling.PollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
:return: An instance of LROPoller that returns either RegistrationDefinition or the result of
cls(response)
:rtype:
@ -440,7 +409,7 @@ class RegistrationDefinitionsOperations:
self,
registration_definition_id: str,
scope: str,
request_body: Union[_models.RegistrationDefinition, IO],
request_body: Union[_models.RegistrationDefinition, IO[bytes]],
**kwargs: Any
) -> LROPoller[_models.RegistrationDefinition]:
"""Creates or updates a registration definition.
@ -450,19 +419,8 @@ class RegistrationDefinitionsOperations:
:param scope: The scope of the resource. Required.
:type scope: str
:param request_body: The parameters required to create a new registration definition. Is either
a model type or a IO type. Required.
:type request_body: ~azure.mgmt.managedservices.models.RegistrationDefinition or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:keyword str continuation_token: A continuation token to restart a poller from a saved state.
:keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
operation to not poll, or pass in your own initialized polling object for a personal polling
strategy.
:paramtype polling: bool or ~azure.core.polling.PollingMethod
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
a RegistrationDefinition type or a IO[bytes] type. Required.
:type request_body: ~azure.mgmt.managedservices.models.RegistrationDefinition or IO[bytes]
:return: An instance of LROPoller that returns either RegistrationDefinition or the result of
cls(response)
:rtype:
@ -472,16 +430,14 @@ class RegistrationDefinitionsOperations:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationDefinition]
polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.RegistrationDefinition] = kwargs.pop("cls", None)
polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
cont_token = kwargs.pop("continuation_token", None) # type: Optional[str]
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
if cont_token is None:
raw_result = self._create_or_update_initial( # type: ignore
raw_result = self._create_or_update_initial(
registration_definition_id=registration_definition_id,
scope=scope,
request_body=request_body,
@ -492,30 +448,31 @@ class RegistrationDefinitionsOperations:
params=_params,
**kwargs
)
raw_result.http_response.read() # type: ignore
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response):
deserialized = self._deserialize("RegistrationDefinition", pipeline_response)
deserialized = self._deserialize("RegistrationDefinition", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
if polling is True:
polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod
polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
polling_method = polling
if cont_token:
return LROPoller.from_continuation_token(
return LROPoller[_models.RegistrationDefinition].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
begin_create_or_update.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions/{registrationDefinitionId}"} # type: ignore
return LROPoller[_models.RegistrationDefinition](
self._client, raw_result, get_long_running_output, polling_method # type: ignore
)
@distributed_trace
def list(
@ -528,7 +485,6 @@ class RegistrationDefinitionsOperations:
:param filter: The filter query parameter to filter managed services resources by. Default
value is None.
:type filter: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either RegistrationDefinition or the result of
cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.managedservices.models.RegistrationDefinition]
@ -537,12 +493,10 @@ class RegistrationDefinitionsOperations:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
) # type: Literal["2022-10-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.RegistrationDefinitionList]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RegistrationDefinitionList] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -553,16 +507,14 @@ class RegistrationDefinitionsOperations:
def prepare_request(next_link=None):
if not next_link:
request = build_list_request(
_request = build_list_request(
scope=scope,
filter=filter,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # type: ignore
_request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@ -574,26 +526,26 @@ class RegistrationDefinitionsOperations:
}
)
_next_request_params["api-version"] = self._config.api_version
request = HttpRequest(
_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) # type: ignore
request.method = "GET"
return request
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("RegistrationDefinitionList", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem)
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)
_request = prepare_request(next_link)
pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
request, stream=False, **kwargs
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
_request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@ -605,5 +557,3 @@ class RegistrationDefinitionsOperations:
return pipeline_response
return ItemPaged(get_next, extract_data)
list.metadata = {"url": "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions"} # type: ignore

Просмотреть файл

@ -1 +1,2 @@
-e ../../../tools/azure-sdk-tools
-e ../../../tools/azure-sdk-tools
aiohttp

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""
@ -28,11 +29,10 @@ def main():
credential=DefaultAzureCredential(),
)
response = client.registration_assignments.begin_delete(
client.registration_assignments.begin_delete(
scope="subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
registration_assignment_id="26c128c2-fefa-4340-9bb1-6e081c90ada2",
).result()
print(response)
# x-ms-original-file: specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2022-10-01/examples/DeleteRegistrationAssignment.json

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""
@ -28,11 +29,10 @@ def main():
credential=DefaultAzureCredential(),
)
response = client.registration_definitions.delete(
client.registration_definitions.delete(
registration_definition_id="26c128c2-fefa-4340-9bb1-6e081c90ada2",
scope="subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
)
print(response)
# x-ms-original-file: specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2022-10-01/examples/DeleteRegistrationDefinition.json

Просмотреть файл

@ -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.managedservices import ManagedServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-managedservices
# USAGE
python get_marketplace_registration_definition.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 = ManagedServicesClient(
credential=DefaultAzureCredential(),
)
response = client.marketplace_registration_definitions.get(
scope="subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
marketplace_identifier="publisher.product.planName.version",
)
print(response)
# x-ms-original-file: specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2022-10-01/examples/GetMarketplaceRegistrationDefinition.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -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.managedservices import ManagedServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-managedservices
# USAGE
python get_marketplace_registration_definitions.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 = ManagedServicesClient(
credential=DefaultAzureCredential(),
)
response = client.marketplace_registration_definitions.list(
scope="subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
)
for item in response:
print(item)
# x-ms-original-file: specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2022-10-01/examples/GetMarketplaceRegistrationDefinitions.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""
@ -14,7 +15,7 @@ from azure.mgmt.managedservices import ManagedServicesClient
pip install azure-identity
pip install azure-mgmt-managedservices
# USAGE
python get_registration_operations.py
python get_operations.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,

Просмотреть файл

@ -0,0 +1,40 @@
# 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.managedservices import ManagedServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-managedservices
# USAGE
python get_operations_with_scope.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 = ManagedServicesClient(
credential=DefaultAzureCredential(),
)
response = client.operations_with_scope.list(
scope="subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
)
print(response)
# x-ms-original-file: specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2022-10-01/examples/GetOperationsWithScope.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.managedservices import ManagedServicesClient
"""

Просмотреть файл

@ -0,0 +1,35 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import os
import pytest
from dotenv import load_dotenv
from devtools_testutils import (
test_proxy,
add_general_regex_sanitizer,
add_body_key_sanitizer,
add_header_regex_sanitizer,
)
load_dotenv()
# aovid record sensitive identity information in recordings
@pytest.fixture(scope="session", autouse=True)
def add_sanitizers(test_proxy):
managedservices_subscription_id = os.environ.get("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000")
managedservices_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000")
managedservices_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000")
managedservices_client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=managedservices_subscription_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=managedservices_tenant_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=managedservices_client_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=managedservices_client_secret, value="00000000-0000-0000-0000-000000000000")
add_header_regex_sanitizer(key="Set-Cookie", value="[set-cookie;]")
add_header_regex_sanitizer(key="Cookie", value="cookie;")
add_body_key_sanitizer(json_path="$..access_token", value="access_token")

Просмотреть файл

@ -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.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesMarketplaceRegistrationDefinitionsOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.marketplace_registration_definitions.list(
scope="str",
api_version="2022-10-01",
)
result = [r for r in response]
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_get(self, resource_group):
response = self.client.marketplace_registration_definitions.get(
scope="str",
marketplace_identifier="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -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.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices.aio import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesMarketplaceRegistrationDefinitionsOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = self.client.marketplace_registration_definitions.list(
scope="str",
api_version="2022-10-01",
)
result = [r async for r in response]
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_get(self, resource_group):
response = await self.client.marketplace_registration_definitions.get(
scope="str",
marketplace_identifier="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,40 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesMarketplaceRegistrationDefinitionsWithoutScopeOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.marketplace_registration_definitions_without_scope.list(
api_version="2022-10-01",
)
result = [r for r in response]
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_get(self, resource_group):
response = self.client.marketplace_registration_definitions_without_scope.get(
marketplace_identifier="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -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.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices.aio import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesMarketplaceRegistrationDefinitionsWithoutScopeOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = self.client.marketplace_registration_definitions_without_scope.list(
api_version="2022-10-01",
)
result = [r async for r in response]
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_get(self, resource_group):
response = await self.client.marketplace_registration_definitions_without_scope.get(
marketplace_identifier="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,29 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.operations.list(
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,30 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices.aio import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = await self.client.operations.list(
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,30 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesOperationsWithScopeOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.operations_with_scope.list(
scope="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,31 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices.aio import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesOperationsWithScopeOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = await self.client.operations_with_scope.list(
scope="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,128 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesRegistrationAssignmentsOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_get(self, resource_group):
response = self.client.registration_assignments.get(
scope="str",
registration_assignment_id="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_begin_delete(self, resource_group):
response = self.client.registration_assignments.begin_delete(
scope="str",
registration_assignment_id="str",
api_version="2022-10-01",
).result() # call '.result()' to poll until service return final result
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_begin_create_or_update(self, resource_group):
response = self.client.registration_assignments.begin_create_or_update(
scope="str",
registration_assignment_id="str",
request_body={
"id": "str",
"name": "str",
"properties": {
"registrationDefinitionId": "str",
"provisioningState": "str",
"registrationDefinition": {
"id": "str",
"name": "str",
"plan": {"name": "str", "product": "str", "publisher": "str", "version": "str"},
"properties": {
"authorizations": [
{
"principalId": "str",
"roleDefinitionId": "str",
"delegatedRoleDefinitionIds": ["str"],
"principalIdDisplayName": "str",
}
],
"description": "str",
"eligibleAuthorizations": [
{
"principalId": "str",
"roleDefinitionId": "str",
"justInTimeAccessPolicy": {
"multiFactorAuthProvider": "None",
"managedByTenantApprovers": [
{"principalId": "str", "principalIdDisplayName": "str"}
],
"maximumActivationDuration": "PT8H",
},
"principalIdDisplayName": "str",
}
],
"managedByTenantId": "str",
"managedByTenantName": "str",
"manageeTenantId": "str",
"manageeTenantName": "str",
"provisioningState": "str",
"registrationDefinitionName": "str",
},
"systemData": {
"createdAt": "2020-02-20 00:00:00",
"createdBy": "str",
"createdByType": "str",
"lastModifiedAt": "2020-02-20 00:00:00",
"lastModifiedBy": "str",
"lastModifiedByType": "str",
},
"type": "str",
},
},
"systemData": {
"createdAt": "2020-02-20 00:00:00",
"createdBy": "str",
"createdByType": "str",
"lastModifiedAt": "2020-02-20 00:00:00",
"lastModifiedBy": "str",
"lastModifiedByType": "str",
},
"type": "str",
},
api_version="2022-10-01",
).result() # call '.result()' to poll until service return final result
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.registration_assignments.list(
scope="str",
api_version="2022-10-01",
)
result = [r for r in response]
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,133 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices.aio import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesRegistrationAssignmentsOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_get(self, resource_group):
response = await self.client.registration_assignments.get(
scope="str",
registration_assignment_id="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_begin_delete(self, resource_group):
response = await (
await self.client.registration_assignments.begin_delete(
scope="str",
registration_assignment_id="str",
api_version="2022-10-01",
)
).result() # call '.result()' to poll until service return final result
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_begin_create_or_update(self, resource_group):
response = await (
await self.client.registration_assignments.begin_create_or_update(
scope="str",
registration_assignment_id="str",
request_body={
"id": "str",
"name": "str",
"properties": {
"registrationDefinitionId": "str",
"provisioningState": "str",
"registrationDefinition": {
"id": "str",
"name": "str",
"plan": {"name": "str", "product": "str", "publisher": "str", "version": "str"},
"properties": {
"authorizations": [
{
"principalId": "str",
"roleDefinitionId": "str",
"delegatedRoleDefinitionIds": ["str"],
"principalIdDisplayName": "str",
}
],
"description": "str",
"eligibleAuthorizations": [
{
"principalId": "str",
"roleDefinitionId": "str",
"justInTimeAccessPolicy": {
"multiFactorAuthProvider": "None",
"managedByTenantApprovers": [
{"principalId": "str", "principalIdDisplayName": "str"}
],
"maximumActivationDuration": "PT8H",
},
"principalIdDisplayName": "str",
}
],
"managedByTenantId": "str",
"managedByTenantName": "str",
"manageeTenantId": "str",
"manageeTenantName": "str",
"provisioningState": "str",
"registrationDefinitionName": "str",
},
"systemData": {
"createdAt": "2020-02-20 00:00:00",
"createdBy": "str",
"createdByType": "str",
"lastModifiedAt": "2020-02-20 00:00:00",
"lastModifiedBy": "str",
"lastModifiedByType": "str",
},
"type": "str",
},
},
"systemData": {
"createdAt": "2020-02-20 00:00:00",
"createdBy": "str",
"createdByType": "str",
"lastModifiedAt": "2020-02-20 00:00:00",
"lastModifiedBy": "str",
"lastModifiedByType": "str",
},
"type": "str",
},
api_version="2022-10-01",
)
).result() # call '.result()' to poll until service return final result
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = self.client.registration_assignments.list(
scope="str",
api_version="2022-10-01",
)
result = [r async for r in response]
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,109 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesRegistrationDefinitionsOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_get(self, resource_group):
response = self.client.registration_definitions.get(
scope="str",
registration_definition_id="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_delete(self, resource_group):
response = self.client.registration_definitions.delete(
registration_definition_id="str",
scope="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_begin_create_or_update(self, resource_group):
response = self.client.registration_definitions.begin_create_or_update(
registration_definition_id="str",
scope="str",
request_body={
"id": "str",
"name": "str",
"plan": {"name": "str", "product": "str", "publisher": "str", "version": "str"},
"properties": {
"authorizations": [
{
"principalId": "str",
"roleDefinitionId": "str",
"delegatedRoleDefinitionIds": ["str"],
"principalIdDisplayName": "str",
}
],
"managedByTenantId": "str",
"description": "str",
"eligibleAuthorizations": [
{
"principalId": "str",
"roleDefinitionId": "str",
"justInTimeAccessPolicy": {
"multiFactorAuthProvider": "None",
"managedByTenantApprovers": [{"principalId": "str", "principalIdDisplayName": "str"}],
"maximumActivationDuration": "PT8H",
},
"principalIdDisplayName": "str",
}
],
"managedByTenantName": "str",
"manageeTenantId": "str",
"manageeTenantName": "str",
"provisioningState": "str",
"registrationDefinitionName": "str",
},
"systemData": {
"createdAt": "2020-02-20 00:00:00",
"createdBy": "str",
"createdByType": "str",
"lastModifiedAt": "2020-02-20 00:00:00",
"lastModifiedBy": "str",
"lastModifiedByType": "str",
},
"type": "str",
},
api_version="2022-10-01",
).result() # call '.result()' to poll until service return final result
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.registration_definitions.list(
scope="str",
api_version="2022-10-01",
)
result = [r for r in response]
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -0,0 +1,114 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices.aio import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestManagedServicesRegistrationDefinitionsOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_get(self, resource_group):
response = await self.client.registration_definitions.get(
scope="str",
registration_definition_id="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_delete(self, resource_group):
response = await self.client.registration_definitions.delete(
registration_definition_id="str",
scope="str",
api_version="2022-10-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_begin_create_or_update(self, resource_group):
response = await (
await self.client.registration_definitions.begin_create_or_update(
registration_definition_id="str",
scope="str",
request_body={
"id": "str",
"name": "str",
"plan": {"name": "str", "product": "str", "publisher": "str", "version": "str"},
"properties": {
"authorizations": [
{
"principalId": "str",
"roleDefinitionId": "str",
"delegatedRoleDefinitionIds": ["str"],
"principalIdDisplayName": "str",
}
],
"managedByTenantId": "str",
"description": "str",
"eligibleAuthorizations": [
{
"principalId": "str",
"roleDefinitionId": "str",
"justInTimeAccessPolicy": {
"multiFactorAuthProvider": "None",
"managedByTenantApprovers": [
{"principalId": "str", "principalIdDisplayName": "str"}
],
"maximumActivationDuration": "PT8H",
},
"principalIdDisplayName": "str",
}
],
"managedByTenantName": "str",
"manageeTenantId": "str",
"manageeTenantName": "str",
"provisioningState": "str",
"registrationDefinitionName": "str",
},
"systemData": {
"createdAt": "2020-02-20 00:00:00",
"createdBy": "str",
"createdByType": "str",
"lastModifiedAt": "2020-02-20 00:00:00",
"lastModifiedBy": "str",
"lastModifiedByType": "str",
},
"type": "str",
},
api_version="2022-10-01",
)
).result() # call '.result()' to poll until service return final result
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = self.client.registration_definitions.list(
scope="str",
api_version="2022-10-01",
)
result = [r async for r in response]
# please add some check logic here by yourself
# ...

Просмотреть файл

@ -3,6 +3,6 @@ package_name = "azure-mgmt-managedservices"
package_nspkg = "azure-mgmt-nspkg"
package_pprint_name = "Managed Services"
package_doc_id = ""
is_stable = false
is_stable = true
is_arm = true
title = "ManagedServicesClient"

Просмотреть файл

@ -1,10 +1,10 @@
#!/usr/bin/env python
#-------------------------------------------------------------------------
# -------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#--------------------------------------------------------------------------
# --------------------------------------------------------------------------
import re
import os.path
@ -16,63 +16,70 @@ PACKAGE_NAME = "azure-mgmt-managedservices"
PACKAGE_PPRINT_NAME = "Managed Services"
# a-b-c => a/b/c
package_folder_path = PACKAGE_NAME.replace('-', '/')
package_folder_path = PACKAGE_NAME.replace("-", "/")
# a-b-c => a.b.c
namespace_name = PACKAGE_NAME.replace('-', '.')
namespace_name = PACKAGE_NAME.replace("-", ".")
# Version extraction inspired from 'requests'
with open(os.path.join(package_folder_path, 'version.py')
if os.path.exists(os.path.join(package_folder_path, 'version.py'))
else os.path.join(package_folder_path, '_version.py'), 'r') as fd:
version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]',
fd.read(), re.MULTILINE).group(1)
with open(
(
os.path.join(package_folder_path, "version.py")
if os.path.exists(os.path.join(package_folder_path, "version.py"))
else os.path.join(package_folder_path, "_version.py")
),
"r",
) as fd:
version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE).group(1)
if not version:
raise RuntimeError('Cannot find version information')
raise RuntimeError("Cannot find version information")
with open('README.md', encoding='utf-8') as f:
with open("README.md", encoding="utf-8") as f:
readme = f.read()
with open('CHANGELOG.md', encoding='utf-8') as f:
with open("CHANGELOG.md", encoding="utf-8") as f:
changelog = f.read()
setup(
name=PACKAGE_NAME,
version=version,
description='Microsoft Azure {} Client Library for Python'.format(PACKAGE_PPRINT_NAME),
long_description=readme + '\n\n' + changelog,
long_description_content_type='text/markdown',
license='MIT License',
author='Microsoft Corporation',
author_email='azpysdkhelp@microsoft.com',
url='https://github.com/Azure/azure-sdk-for-python',
description="Microsoft Azure {} Client Library for Python".format(PACKAGE_PPRINT_NAME),
long_description=readme + "\n\n" + changelog,
long_description_content_type="text/markdown",
license="MIT License",
author="Microsoft Corporation",
author_email="azpysdkhelp@microsoft.com",
url="https://github.com/Azure/azure-sdk-for-python",
keywords="azure, azure sdk", # update with search keywords relevant to the azure service / product
classifiers=[
'Development Status :: 4 - Beta',
'Programming Language :: Python',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'License :: OSI Approved :: MIT License',
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: MIT License",
],
zip_safe=False,
packages=find_packages(exclude=[
'tests',
# Exclude packages that will be covered by PEP420 or nspkg
'azure',
'azure.mgmt',
]),
packages=find_packages(
exclude=[
"tests",
# Exclude packages that will be covered by PEP420 or nspkg
"azure",
"azure.mgmt",
]
),
include_package_data=True,
package_data={
'pytyped': ['py.typed'],
"pytyped": ["py.typed"],
},
install_requires=[
"msrest>=0.7.1",
"azure-common~=1.1",
"azure-mgmt-core>=1.3.2,<2.0.0",
"typing-extensions>=4.3.0; python_version<'3.8.0'",
"isodate>=0.6.1",
"typing-extensions>=4.6.0",
"azure-common>=1.1",
"azure-mgmt-core>=1.3.2",
],
python_requires=">=3.7"
python_requires=">=3.8",
)

Просмотреть файл

@ -0,0 +1,35 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import os
import pytest
from dotenv import load_dotenv
from devtools_testutils import (
test_proxy,
add_general_regex_sanitizer,
add_body_key_sanitizer,
add_header_regex_sanitizer,
)
load_dotenv()
# aovid record sensitive identity information in recordings
@pytest.fixture(scope="session", autouse=True)
def add_sanitizers(test_proxy):
managedservices_subscription_id = os.environ.get("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000")
managedservices_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000")
managedservices_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000")
managedservices_client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=managedservices_subscription_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=managedservices_tenant_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=managedservices_client_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=managedservices_client_secret, value="00000000-0000-0000-0000-000000000000")
add_header_regex_sanitizer(key="Set-Cookie", value="[set-cookie;]")
add_header_regex_sanitizer(key="Cookie", value="cookie;")
add_body_key_sanitizer(json_path="$..access_token", value="access_token")

Просмотреть файл

@ -1,10 +1,10 @@
# 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.
#--------------------------------------------------------------------------
# --------------------------------------------------------------------------
import unittest
import time
import json
@ -19,50 +19,50 @@ class MgmtManagedServicesTest(AzureMgmtTestCase):
self.client = self.create_basic_client(ManagedServicesClient)
def test_managedservices_crud(self):
scope = 'subscriptions/00000000-0000-0000-0000-000000000000'
assignmentid = 'c0d5f994-63a1-484d-8c1e-a2ac825efd60'
definitionid = '8daec8c7-7567-47ff-9009-f0a4ec429a3c'
regdef_string='{"registrationDefinitionName":"Registration Test","description":"dpp","managedByTenantId":"bab3375b-6197-4a15-a44b-16c41faa91d7","authorizations":[{"principalId":"d6f6c88a-5b7a-455e-ba40-ce146d4d3671","roleDefinitionId":"acdd72a7-3385-48ef-bd42-f606fba81ae7"}]}'
scope = "subscriptions/00000000-0000-0000-0000-000000000000"
assignmentid = "c0d5f994-63a1-484d-8c1e-a2ac825efd60"
definitionid = "8daec8c7-7567-47ff-9009-f0a4ec429a3c"
regdef_string = '{"registrationDefinitionName":"Registration Test","description":"dpp","managedByTenantId":"bab3375b-6197-4a15-a44b-16c41faa91d7","authorizations":[{"principalId":"d6f6c88a-5b7a-455e-ba40-ce146d4d3671","roleDefinitionId":"acdd72a7-3385-48ef-bd42-f606fba81ae7"}]}'
properties = json.loads((regdef_string))
#create definition
# create definition
poller = self.client.registration_definitions.create_or_update(definitionid, scope, properties)
response = poller.result()
self.assertIsNotNone(response)
self.assertEqual(definitionid, response.name)
#create assignment
# create assignment
definition = scope + "/providers/Microsoft.ManagedServices/registrationDefinitions/" + definitionid
assignmentproperties = {"registrationDefinitionId":definition}
assignmentproperties = {"registrationDefinitionId": definition}
poller = self.client.registration_assignments.create_or_update(scope, assignmentid, assignmentproperties)
response = poller.result()
self.assertIsNotNone(response)
self.assertEqual(assignmentid, response.name)
#get definition
response = self.client.registration_definitions.get(scope = scope, registration_definition_id = definitionid)
# get definition
response = self.client.registration_definitions.get(scope=scope, registration_definition_id=definitionid)
self.assertEqual(definitionid, response.name)
#get assignment
response = self.client.registration_assignments.get(scope = scope, registration_assignment_id = assignmentid)
# get assignment
response = self.client.registration_assignments.get(scope=scope, registration_assignment_id=assignmentid)
self.assertEqual(assignmentid, response.name)
#remove assignment
# remove assignment
self.client.registration_assignments.delete(scope, assignmentid).wait()
#remove definition
# remove definition
self.client.registration_definitions.delete(definitionid, scope)
#list assignments
# list assignments
assignments = self.client.registration_assignments.list(scope)
for assignment in assignments:
self.assertNotEqual(assignmentid, assignment.name)
#list definitions
# list definitions
definitions = self.client.registration_definitions.list(scope)
for definition in definitions:
self.assertNotEqual(definitionid, definition.name)
if __name__ == '__main__':
if __name__ == "__main__":
unittest.main()

Просмотреть файл

@ -0,0 +1,27 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices.aio import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.live_test_only
class TestManagedServicesMarketplaceRegistrationDefinitionsWithoutScopeOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = self.client.marketplace_registration_definitions_without_scope.list()
result = [r async for r in response]
assert response

Просмотреть файл

@ -0,0 +1,26 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.live_test_only
class TestManagedServicesMarketplaceRegistrationDefinitionsWithoutScopeOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.marketplace_registration_definitions_without_scope.list()
result = [r for r in response]
assert response

Просмотреть файл

@ -0,0 +1,27 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices.aio import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.live_test_only
class TestManagedServicesOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = await self.client.operations.list()
assert response.value

Просмотреть файл

@ -0,0 +1,26 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from azure.mgmt.managedservices import ManagedServicesClient
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.live_test_only
class TestManagedServicesOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(ManagedServicesClient)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.operations.list()
assert response.value