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

[AutoRelease] t2-marketplaceordering-2024-11-04-08673(can only be merged by SDK owner) (#38288)

* code and test

* update-testcase

* 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:45:17 -08:00 коммит произвёл GitHub
Родитель a7661c7d0b
Коммит c846afc0f3
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
43 изменённых файлов: 1328 добавлений и 671 удалений

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

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

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

@ -1,28 +1,61 @@
# Microsoft Azure SDK for Python
This is the Microsoft Azure Market Place Ordering 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-marketplaceordering
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.marketplaceordering import MarketplaceOrderingAgreements
import os
sub_id = os.getenv("AZURE_SUBSCRIPTION_ID")
client = MarketplaceOrderingAgreements(credential=DefaultAzureCredential(), subscription_id=sub_id)
```
## Examples
Code samples for this package can be found at:
- [Search Market Place Ordering](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 [Market Place Ordering](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://github.com/Azure-Samples/azure-samples-python-management/tree/main/samples/marketplaceordering)
## 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-marketplaceordering%2FREADME.png)

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

@ -1,11 +1,11 @@
{
"commit": "e82a24def11ffc98cc263884f9f1742c99f2df5e",
"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/marketplaceordering/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/marketplaceordering/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/marketplaceordering/resource-manager/readme.md"
}

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

@ -1,6 +0,0 @@
{
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "python",
"TagPrefix": "python/marketplaceordering/azure-mgmt-marketplaceordering",
"Tag": "python/marketplaceordering/azure-mgmt-marketplaceordering_a26fafc10b"
}

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

@ -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 MarketplaceOrderingAgreementsConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
class MarketplaceOrderingAgreementsConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
"""Configuration for MarketplaceOrderingAgreements.
Note that all parameters used to create this instance are saved as instance
@ -41,8 +34,7 @@ class MarketplaceOrderingAgreementsConfiguration(Configuration): # pylint: disa
"""
def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None:
super(MarketplaceOrderingAgreementsConfiguration, self).__init__(**kwargs)
api_version = kwargs.pop("api_version", "2021-01-01") # type: Literal["2021-01-01"]
api_version: str = kwargs.pop("api_version", "2021-01-01")
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
@ -54,20 +46,18 @@ class MarketplaceOrderingAgreementsConfiguration(Configuration): # pylint: disa
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-marketplaceordering/{}".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 MarketplaceOrderingAgreementsConfiguration
from ._serialization import Deserializer, Serializer
from .operations import MarketplaceAgreementsOperations, Operations
@ -51,9 +54,27 @@ class MarketplaceOrderingAgreements: # pylint: disable=client-accepts-api-versi
self._config = MarketplaceOrderingAgreementsConfiguration(
credential=credential, subscription_id=subscription_id, **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
@ -62,7 +83,7 @@ class MarketplaceOrderingAgreements: # pylint: disable=client-accepts-api-versi
)
self.operations = Operations(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
@ -82,17 +103,14 @@ class MarketplaceOrderingAgreements: # pylint: disable=client-accepts-api-versi
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: () -> MarketplaceOrderingAgreements
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 = "1.2.0b1"
VERSION = "1.2.0b2"

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

@ -10,7 +10,7 @@ from ._marketplace_ordering_agreements import MarketplaceOrderingAgreements
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 MarketplaceOrderingAgreementsConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
class MarketplaceOrderingAgreementsConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
"""Configuration for MarketplaceOrderingAgreements.
Note that all parameters used to create this instance are saved as instance
@ -41,8 +34,7 @@ class MarketplaceOrderingAgreementsConfiguration(Configuration): # pylint: disa
"""
def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None:
super(MarketplaceOrderingAgreementsConfiguration, self).__init__(**kwargs)
api_version = kwargs.pop("api_version", "2021-01-01") # type: Literal["2021-01-01"]
api_version: str = kwargs.pop("api_version", "2021-01-01")
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
@ -54,6 +46,7 @@ class MarketplaceOrderingAgreementsConfiguration(Configuration): # pylint: disa
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-marketplaceordering/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)
def _configure(self, **kwargs: Any) -> None:
@ -62,9 +55,9 @@ class MarketplaceOrderingAgreementsConfiguration(Configuration): # pylint: disa
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 MarketplaceOrderingAgreementsConfiguration
from .operations import MarketplaceAgreementsOperations, Operations
@ -51,9 +54,27 @@ class MarketplaceOrderingAgreements: # pylint: disable=client-accepts-api-versi
self._config = MarketplaceOrderingAgreementsConfiguration(
credential=credential, subscription_id=subscription_id, **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
@ -62,7 +83,9 @@ class MarketplaceOrderingAgreements: # pylint: disable=client-accepts-api-versi
)
self.operations = Operations(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
@ -82,14 +105,14 @@ class MarketplaceOrderingAgreements: # pylint: disable=client-accepts-api-versi
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) -> "MarketplaceOrderingAgreements":
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)

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

@ -10,7 +10,7 @@ from ._marketplace_agreements_operations import MarketplaceAgreementsOperations
from ._operations import Operations
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.
@ -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, List, Optional, TypeVar, Union, overload
from typing import Any, Callable, Dict, IO, Optional, Type, TypeVar, Union, overload
from azure.core.exceptions import (
ClientAuthenticationError,
@ -18,14 +19,12 @@ 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._marketplace_agreements_operations import (
build_cancel_request,
build_create_request,
@ -35,10 +34,10 @@ from ...operations._marketplace_agreements_operations import (
build_sign_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]]
@ -77,12 +76,11 @@ class MarketplaceAgreementsOperations:
:type offer_id: str
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -93,27 +91,24 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AgreementTerms] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
offer_type=offer_type,
publisher_id=publisher_id,
offer_id=offer_id,
plan_id=plan_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # 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
@ -123,14 +118,12 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("AgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current"} # type: ignore
return deserialized # type: ignore
@overload
async def create(
@ -160,7 +153,6 @@ class MarketplaceAgreementsOperations:
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
@ -173,7 +165,7 @@ class MarketplaceAgreementsOperations:
publisher_id: str,
offer_id: str,
plan_id: str,
parameters: IO,
parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@ -190,11 +182,10 @@ class MarketplaceAgreementsOperations:
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:param parameters: Parameters supplied to the Create Marketplace Terms operation. Required.
:type parameters: IO
:type parameters: 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
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
@ -207,7 +198,7 @@ class MarketplaceAgreementsOperations:
publisher_id: str,
offer_id: str,
plan_id: str,
parameters: Union[_models.AgreementTerms, IO],
parameters: Union[_models.AgreementTerms, IO[bytes]],
**kwargs: Any
) -> _models.AgreementTerms:
"""Save marketplace terms.
@ -222,17 +213,13 @@ class MarketplaceAgreementsOperations:
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:param parameters: Parameters supplied to the Create Marketplace Terms operation. Is either a
model type or a IO type. Required.
:type parameters: ~azure.mgmt.marketplaceordering.models.AgreementTerms 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
AgreementTerms type or a IO[bytes] type. Required.
:type parameters: ~azure.mgmt.marketplaceordering.models.AgreementTerms or IO[bytes]
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -243,21 +230,19 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
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.AgreementTerms] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(parameters, (IO, bytes)):
if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "AgreementTerms")
request = build_create_request(
_request = build_create_request(
offer_type=offer_type,
publisher_id=publisher_id,
offer_id=offer_id,
@ -267,15 +252,14 @@ class MarketplaceAgreementsOperations:
content_type=content_type,
json=_json,
content=_content,
template_url=self.create.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
@ -285,17 +269,15 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("AgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
create.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current"} # type: ignore
return deserialized # type: ignore
@distributed_trace_async
async def sign(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.AgreementTerms:
async def sign(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.OldAgreementTerms:
"""Sign marketplace terms.
:param publisher_id: Publisher identifier string of image being deployed. Required.
@ -304,12 +286,11 @@ class MarketplaceAgreementsOperations:
:type offer_id: str
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:return: OldAgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.OldAgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -320,26 +301,23 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OldAgreementTerms] = kwargs.pop("cls", None)
request = build_sign_request(
_request = build_sign_request(
publisher_id=publisher_id,
offer_id=offer_id,
plan_id=plan_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.sign.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
@ -349,17 +327,15 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("OldAgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
sign.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/sign"} # type: ignore
return deserialized # type: ignore
@distributed_trace_async
async def cancel(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.AgreementTerms:
async def cancel(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.OldAgreementTerms:
"""Cancel marketplace terms.
:param publisher_id: Publisher identifier string of image being deployed. Required.
@ -368,12 +344,11 @@ class MarketplaceAgreementsOperations:
:type offer_id: str
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:return: OldAgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.OldAgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -384,26 +359,23 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OldAgreementTerms] = kwargs.pop("cls", None)
request = build_cancel_request(
_request = build_cancel_request(
publisher_id=publisher_id,
offer_id=offer_id,
plan_id=plan_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.cancel.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
@ -413,19 +385,17 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("OldAgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
cancel.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/cancel"} # type: ignore
return deserialized # type: ignore
@distributed_trace_async
async def get_agreement(
self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any
) -> _models.AgreementTerms:
) -> _models.OldAgreementTerms:
"""Get marketplace agreement.
:param publisher_id: Publisher identifier string of image being deployed. Required.
@ -434,12 +404,11 @@ class MarketplaceAgreementsOperations:
:type offer_id: str
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:return: OldAgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.OldAgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -450,26 +419,23 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OldAgreementTerms] = kwargs.pop("cls", None)
request = build_get_agreement_request(
_request = build_get_agreement_request(
publisher_id=publisher_id,
offer_id=offer_id,
plan_id=plan_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.get_agreement.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
@ -479,25 +445,22 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("OldAgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get_agreement.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}"} # type: ignore
return deserialized # type: ignore
@distributed_trace_async
async def list(self, **kwargs: Any) -> List[_models.AgreementTerms]:
async def list(self, **kwargs: Any) -> _models.OldAgreementTermsList:
"""List marketplace agreements in the subscription.
:keyword callable cls: A custom type or function that will be passed the direct response
:return: list of AgreementTerms or the result of cls(response)
:rtype: list[~azure.mgmt.marketplaceordering.models.AgreementTerms]
:return: OldAgreementTermsList or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.OldAgreementTermsList
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -508,23 +471,20 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[List[_models.AgreementTerms]]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OldAgreementTermsList] = kwargs.pop("cls", None)
request = build_list_request(
_request = build_list_request(
subscription_id=self._config.subscription_id,
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
@ -534,11 +494,9 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("[AgreementTerms]", pipeline_response)
deserialized = self._deserialize("OldAgreementTermsList", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
list.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements"} # 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,20 +20,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 import distributed_trace
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]]
@ -61,7 +59,6 @@ class Operations:
def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]:
"""Lists all of the available Microsoft.MarketplaceOrdering REST API operations.
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Operation or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.marketplaceordering.models.Operation]
@ -70,12 +67,10 @@ 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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.OperationListResult]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OperationListResult] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -86,14 +81,12 @@ class Operations:
def prepare_request(next_link=None):
if not next_link:
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)
else:
# make call to next link with the client's api-version
@ -105,26 +98,26 @@ class Operations:
}
)
_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("OperationListResult", 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
@ -136,5 +129,3 @@ class Operations:
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
list.metadata = {"url": "/providers/Microsoft.MarketplaceOrdering/operations"} # type: ignore

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

@ -9,6 +9,8 @@
from ._models_py3 import AgreementTerms
from ._models_py3 import ErrorResponse
from ._models_py3 import ErrorResponseError
from ._models_py3 import OldAgreementTerms
from ._models_py3 import OldAgreementTermsList
from ._models_py3 import Operation
from ._models_py3 import OperationDisplay
from ._models_py3 import OperationListResult
@ -17,14 +19,17 @@ from ._models_py3 import SystemData
from ._marketplace_ordering_agreements_enums import CreatedByType
from ._marketplace_ordering_agreements_enums import OfferType
from ._marketplace_ordering_agreements_enums import State
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__ = [
"AgreementTerms",
"ErrorResponse",
"ErrorResponseError",
"OldAgreementTerms",
"OldAgreementTermsList",
"Operation",
"OperationDisplay",
"OperationListResult",
@ -32,6 +37,7 @@ __all__ = [
"SystemData",
"CreatedByType",
"OfferType",
"State",
]
__all__.extend([p for p in _patch_all if p not in __all__])
_patch_sdk()

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

@ -23,3 +23,10 @@ class OfferType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""OfferType."""
VIRTUALMACHINE = "virtualmachine"
class State(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Whether the agreement is active or cancelled."""
ACTIVE = "Active"
CANCELED = "Canceled"

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

@ -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
@ -42,7 +42,7 @@ class Resource(_serialization.Model):
"type": {"key": "type", "type": "str"},
}
def __init__(self, **kwargs):
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.id = None
@ -119,8 +119,8 @@ class AgreementTerms(Resource): # pylint: disable=too-many-instance-attributes
retrieve_datetime: Optional[str] = None,
signature: Optional[str] = None,
accepted: Optional[bool] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword publisher: Publisher identifier string of image being deployed.
:paramtype publisher: str
@ -156,7 +156,8 @@ class AgreementTerms(Resource): # pylint: disable=too-many-instance-attributes
class ErrorResponse(_serialization.Model):
"""Error response indicates Microsoft.MarketplaceOrdering service is not able to process the incoming request. The reason is provided in the error message.
"""Error response indicates Microsoft.MarketplaceOrdering service is not able to process the
incoming request. The reason is provided in the error message.
:ivar error: The details of the error.
:vartype error: ~azure.mgmt.marketplaceordering.models.ErrorResponseError
@ -166,7 +167,7 @@ class ErrorResponse(_serialization.Model):
"error": {"key": "error", "type": "ErrorResponseError"},
}
def __init__(self, *, error: Optional["_models.ErrorResponseError"] = None, **kwargs):
def __init__(self, *, error: Optional["_models.ErrorResponseError"] = None, **kwargs: Any) -> None:
"""
:keyword error: The details of the error.
:paramtype error: ~azure.mgmt.marketplaceordering.models.ErrorResponseError
@ -196,13 +197,116 @@ class ErrorResponseError(_serialization.Model):
"message": {"key": "message", "type": "str"},
}
def __init__(self, **kwargs):
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.code = None
self.message = None
class OldAgreementTerms(Resource):
"""Terms properties for provided Publisher/Offer/Plan tuple.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Resource ID.
:vartype id: str
:ivar name: Resource name.
:vartype name: str
:ivar type: Resource type.
:vartype type: str
:ivar id_properties_id: A unique identifier of the agreement.
:vartype id_properties_id: str
:ivar publisher: Publisher identifier string of image being deployed.
:vartype publisher: str
:ivar offer: Offer identifier string of image being deployed.
:vartype offer: str
:ivar sign_date: Date and time in UTC of when the terms were accepted. This is empty if state
is cancelled.
:vartype sign_date: ~datetime.datetime
:ivar cancel_date: Date and time in UTC of when the terms were cancelled. This is empty if
state is active.
:vartype cancel_date: ~datetime.datetime
:ivar state: Whether the agreement is active or cancelled. Known values are: "Active" and
"Canceled".
:vartype state: str or ~azure.mgmt.marketplaceordering.models.State
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"id_properties_id": {"key": "properties.id", "type": "str"},
"publisher": {"key": "properties.publisher", "type": "str"},
"offer": {"key": "properties.offer", "type": "str"},
"sign_date": {"key": "properties.signDate", "type": "iso-8601"},
"cancel_date": {"key": "properties.cancelDate", "type": "iso-8601"},
"state": {"key": "properties.state", "type": "str"},
}
def __init__(
self,
*,
id_properties_id: Optional[str] = None,
publisher: Optional[str] = None,
offer: Optional[str] = None,
sign_date: Optional[datetime.datetime] = None,
cancel_date: Optional[datetime.datetime] = None,
state: Optional[Union[str, "_models.State"]] = None,
**kwargs: Any
) -> None:
"""
:keyword id_properties_id: A unique identifier of the agreement.
:paramtype id_properties_id: str
:keyword publisher: Publisher identifier string of image being deployed.
:paramtype publisher: str
:keyword offer: Offer identifier string of image being deployed.
:paramtype offer: str
:keyword sign_date: Date and time in UTC of when the terms were accepted. This is empty if
state is cancelled.
:paramtype sign_date: ~datetime.datetime
:keyword cancel_date: Date and time in UTC of when the terms were cancelled. This is empty if
state is active.
:paramtype cancel_date: ~datetime.datetime
:keyword state: Whether the agreement is active or cancelled. Known values are: "Active" and
"Canceled".
:paramtype state: str or ~azure.mgmt.marketplaceordering.models.State
"""
super().__init__(**kwargs)
self.id_properties_id = id_properties_id
self.publisher = publisher
self.offer = offer
self.sign_date = sign_date
self.cancel_date = cancel_date
self.state = state
class OldAgreementTermsList(_serialization.Model):
"""Agreement Terms definition list.
:ivar value:
:vartype value: list[~azure.mgmt.marketplaceordering.models.OldAgreementTerms]
"""
_attribute_map = {
"value": {"key": "value", "type": "[OldAgreementTerms]"},
}
def __init__(self, *, value: Optional[List["_models.OldAgreementTerms"]] = None, **kwargs: Any) -> None:
"""
:keyword value:
:paramtype value: list[~azure.mgmt.marketplaceordering.models.OldAgreementTerms]
"""
super().__init__(**kwargs)
self.value = value
class Operation(_serialization.Model):
"""Microsoft.MarketplaceOrdering REST API operation.
@ -217,7 +321,9 @@ class Operation(_serialization.Model):
"display": {"key": "display", "type": "OperationDisplay"},
}
def __init__(self, *, name: Optional[str] = None, display: Optional["_models.OperationDisplay"] = None, **kwargs):
def __init__(
self, *, name: Optional[str] = None, display: Optional["_models.OperationDisplay"] = None, **kwargs: Any
) -> None:
"""
:keyword name: Operation name: {provider}/{resource}/{operation}.
:paramtype name: str
@ -256,8 +362,8 @@ class OperationDisplay(_serialization.Model):
resource: Optional[str] = None,
operation: Optional[str] = None,
description: Optional[str] = None,
**kwargs
):
**kwargs: Any
) -> None:
"""
:keyword provider: Service provider: Microsoft.MarketplaceOrdering.
:paramtype provider: str
@ -277,7 +383,8 @@ class OperationDisplay(_serialization.Model):
class OperationListResult(_serialization.Model):
"""Result of the request to list MarketplaceOrdering operations. It contains a list of operations and a URL link to get the next set of results.
"""Result of the request to list MarketplaceOrdering operations. It contains a list of operations
and a URL link to get the next set of results.
Variables are only populated by the server, and will be ignored when sending a request.
@ -297,7 +404,7 @@ class OperationListResult(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, *, value: Optional[List["_models.Operation"]] = None, **kwargs):
def __init__(self, *, value: Optional[List["_models.Operation"]] = None, **kwargs: Any) -> None:
"""
:keyword value: List of Microsoft.MarketplaceOrdering operations supported by the
Microsoft.MarketplaceOrdering resource provider.
@ -345,8 +452,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

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

@ -10,7 +10,7 @@ from ._marketplace_agreements_operations import MarketplaceAgreementsOperations
from ._operations import Operations
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.
@ -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, List, Optional, TypeVar, Union, overload
from typing import Any, Callable, Dict, IO, Optional, Type, TypeVar, Union, overload
from azure.core.exceptions import (
ClientAuthenticationError,
@ -18,20 +19,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]]
@ -50,7 +49,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", "2021-01-01")) # type: Literal["2021-01-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-01-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -66,7 +65,7 @@ def build_get_request(
"planId": _SERIALIZER.url("plan_id", plan_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")
@ -88,8 +87,8 @@ def build_create_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", "2021-01-01")) # type: Literal["2021-01-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", "2021-01-01"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -105,7 +104,7 @@ def build_create_request(
"planId": _SERIALIZER.url("plan_id", plan_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")
@ -124,7 +123,7 @@ def build_sign_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", "2021-01-01")) # type: Literal["2021-01-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-01-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -139,7 +138,7 @@ def build_sign_request(
"planId": _SERIALIZER.url("plan_id", plan_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")
@ -156,7 +155,7 @@ def build_cancel_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", "2021-01-01")) # type: Literal["2021-01-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-01-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -171,7 +170,7 @@ def build_cancel_request(
"planId": _SERIALIZER.url("plan_id", plan_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")
@ -188,7 +187,7 @@ def build_get_agreement_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", "2021-01-01")) # type: Literal["2021-01-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-01-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -203,7 +202,7 @@ def build_get_agreement_request(
"planId": _SERIALIZER.url("plan_id", plan_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")
@ -218,7 +217,7 @@ def build_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version = kwargs.pop("api_version", _params.pop("api-version", "2021-01-01")) # type: Literal["2021-01-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-01-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -229,7 +228,7 @@ def build_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest:
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_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")
@ -274,12 +273,11 @@ class MarketplaceAgreementsOperations:
:type offer_id: str
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -290,27 +288,24 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AgreementTerms] = kwargs.pop("cls", None)
request = build_get_request(
_request = build_get_request(
offer_type=offer_type,
publisher_id=publisher_id,
offer_id=offer_id,
plan_id=plan_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url) # 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
@ -320,14 +315,12 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("AgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current"} # type: ignore
return deserialized # type: ignore
@overload
def create(
@ -357,7 +350,6 @@ class MarketplaceAgreementsOperations:
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
@ -370,7 +362,7 @@ class MarketplaceAgreementsOperations:
publisher_id: str,
offer_id: str,
plan_id: str,
parameters: IO,
parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@ -387,11 +379,10 @@ class MarketplaceAgreementsOperations:
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:param parameters: Parameters supplied to the Create Marketplace Terms operation. Required.
:type parameters: IO
:type parameters: 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
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
@ -404,7 +395,7 @@ class MarketplaceAgreementsOperations:
publisher_id: str,
offer_id: str,
plan_id: str,
parameters: Union[_models.AgreementTerms, IO],
parameters: Union[_models.AgreementTerms, IO[bytes]],
**kwargs: Any
) -> _models.AgreementTerms:
"""Save marketplace terms.
@ -419,17 +410,13 @@ class MarketplaceAgreementsOperations:
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:param parameters: Parameters supplied to the Create Marketplace Terms operation. Is either a
model type or a IO type. Required.
:type parameters: ~azure.mgmt.marketplaceordering.models.AgreementTerms 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
AgreementTerms type or a IO[bytes] type. Required.
:type parameters: ~azure.mgmt.marketplaceordering.models.AgreementTerms or IO[bytes]
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -440,21 +427,19 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
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.AgreementTerms] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(parameters, (IO, bytes)):
if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "AgreementTerms")
request = build_create_request(
_request = build_create_request(
offer_type=offer_type,
publisher_id=publisher_id,
offer_id=offer_id,
@ -464,15 +449,14 @@ class MarketplaceAgreementsOperations:
content_type=content_type,
json=_json,
content=_content,
template_url=self.create.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
@ -482,17 +466,15 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("AgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
create.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current"} # type: ignore
return deserialized # type: ignore
@distributed_trace
def sign(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.AgreementTerms:
def sign(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.OldAgreementTerms:
"""Sign marketplace terms.
:param publisher_id: Publisher identifier string of image being deployed. Required.
@ -501,12 +483,11 @@ class MarketplaceAgreementsOperations:
:type offer_id: str
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:return: OldAgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.OldAgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -517,26 +498,23 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OldAgreementTerms] = kwargs.pop("cls", None)
request = build_sign_request(
_request = build_sign_request(
publisher_id=publisher_id,
offer_id=offer_id,
plan_id=plan_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.sign.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
@ -546,17 +524,15 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("OldAgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
sign.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/sign"} # type: ignore
return deserialized # type: ignore
@distributed_trace
def cancel(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.AgreementTerms:
def cancel(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.OldAgreementTerms:
"""Cancel marketplace terms.
:param publisher_id: Publisher identifier string of image being deployed. Required.
@ -565,12 +541,11 @@ class MarketplaceAgreementsOperations:
:type offer_id: str
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:return: OldAgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.OldAgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -581,26 +556,23 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OldAgreementTerms] = kwargs.pop("cls", None)
request = build_cancel_request(
_request = build_cancel_request(
publisher_id=publisher_id,
offer_id=offer_id,
plan_id=plan_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.cancel.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
@ -610,17 +582,15 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("OldAgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
cancel.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/cancel"} # type: ignore
return deserialized # type: ignore
@distributed_trace
def get_agreement(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.AgreementTerms:
def get_agreement(self, publisher_id: str, offer_id: str, plan_id: str, **kwargs: Any) -> _models.OldAgreementTerms:
"""Get marketplace agreement.
:param publisher_id: Publisher identifier string of image being deployed. Required.
@ -629,12 +599,11 @@ class MarketplaceAgreementsOperations:
:type offer_id: str
:param plan_id: Plan identifier string of image being deployed. Required.
:type plan_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: AgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.AgreementTerms
:return: OldAgreementTerms or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.OldAgreementTerms
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -645,26 +614,23 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.AgreementTerms]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OldAgreementTerms] = kwargs.pop("cls", None)
request = build_get_agreement_request(
_request = build_get_agreement_request(
publisher_id=publisher_id,
offer_id=offer_id,
plan_id=plan_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.get_agreement.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
@ -674,25 +640,22 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("AgreementTerms", pipeline_response)
deserialized = self._deserialize("OldAgreementTerms", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
get_agreement.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}"} # type: ignore
return deserialized # type: ignore
@distributed_trace
def list(self, **kwargs: Any) -> List[_models.AgreementTerms]:
def list(self, **kwargs: Any) -> _models.OldAgreementTermsList:
"""List marketplace agreements in the subscription.
:keyword callable cls: A custom type or function that will be passed the direct response
:return: list of AgreementTerms or the result of cls(response)
:rtype: list[~azure.mgmt.marketplaceordering.models.AgreementTerms]
:return: OldAgreementTermsList or the result of cls(response)
:rtype: ~azure.mgmt.marketplaceordering.models.OldAgreementTermsList
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -703,23 +666,20 @@ class MarketplaceAgreementsOperations:
_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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[List[_models.AgreementTerms]]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OldAgreementTermsList] = kwargs.pop("cls", None)
request = build_list_request(
_request = build_list_request(
subscription_id=self._config.subscription_id,
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
@ -729,11 +689,9 @@ class MarketplaceAgreementsOperations:
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("[AgreementTerms]", pipeline_response)
deserialized = self._deserialize("OldAgreementTermsList", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {})
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
list.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements"} # 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
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(**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", "2021-01-01")) # type: Literal["2021-01-01"]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-01-01"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@ -83,7 +81,6 @@ class Operations:
def list(self, **kwargs: Any) -> Iterable["_models.Operation"]:
"""Lists all of the available Microsoft.MarketplaceOrdering REST API operations.
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Operation or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.marketplaceordering.models.Operation]
:raises ~azure.core.exceptions.HttpResponseError:
@ -91,12 +88,10 @@ 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["2021-01-01"]
cls = kwargs.pop("cls", None) # type: ClsType[_models.OperationListResult]
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OperationListResult] = kwargs.pop("cls", None)
error_map = {
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@ -107,14 +102,12 @@ class Operations:
def prepare_request(next_link=None):
if not next_link:
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)
else:
# make call to next link with the client's api-version
@ -126,26 +119,26 @@ class Operations:
}
)
_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("OperationListResult", 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
@ -157,5 +150,3 @@ class Operations:
return pipeline_response
return ItemPaged(get_next, extract_data)
list.metadata = {"url": "/providers/Microsoft.MarketplaceOrdering/operations"} # type: ignore

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

@ -1,3 +1,4 @@
-e ../../../tools/azure-sdk-tools
-e ../../resources/azure-mgmt-resource
../../identity/azure-identity
../../identity/azure-identity
aiohttp

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

@ -0,0 +1,43 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-marketplaceordering
# USAGE
python cancel_marketplace_terms.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 = MarketplaceOrderingAgreements(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.marketplace_agreements.cancel(
publisher_id="pubid",
offer_id="offid",
plan_id="planid",
)
print(response)
# x-ms-original-file: specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2021-01-01/examples/CancelMarketplaceTerms.json
if __name__ == "__main__":
main()

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

@ -0,0 +1,43 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-marketplaceordering
# USAGE
python get_agreement_marketplace_terms.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 = MarketplaceOrderingAgreements(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.marketplace_agreements.get_agreement(
publisher_id="pubid",
offer_id="offid",
plan_id="planid",
)
print(response)
# x-ms-original-file: specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2021-01-01/examples/GetAgreementMarketplaceTerms.json
if __name__ == "__main__":
main()

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

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
"""

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

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
"""

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

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
"""
@ -14,7 +15,7 @@ from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
pip install azure-identity
pip install azure-mgmt-marketplaceordering
# USAGE
python list_operations.py
python operations_list.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,

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

@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
"""

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

@ -0,0 +1,43 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-marketplaceordering
# USAGE
python sign_marketplace_terms.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 = MarketplaceOrderingAgreements(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.marketplace_agreements.sign(
publisher_id="pubid",
offer_id="offid",
plan_id="planid",
)
print(response)
# x-ms-original-file: specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2021-01-01/examples/SignMarketplaceTerms.json
if __name__ == "__main__":
main()

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

@ -0,0 +1,47 @@
# 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):
marketplaceorderingagreements_subscription_id = os.environ.get(
"AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000"
)
marketplaceorderingagreements_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000")
marketplaceorderingagreements_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000")
marketplaceorderingagreements_client_secret = os.environ.get(
"AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000"
)
add_general_regex_sanitizer(
regex=marketplaceorderingagreements_subscription_id, value="00000000-0000-0000-0000-000000000000"
)
add_general_regex_sanitizer(
regex=marketplaceorderingagreements_tenant_id, value="00000000-0000-0000-0000-000000000000"
)
add_general_regex_sanitizer(
regex=marketplaceorderingagreements_client_id, value="00000000-0000-0000-0000-000000000000"
)
add_general_regex_sanitizer(
regex=marketplaceorderingagreements_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,118 @@
# 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.marketplaceordering import MarketplaceOrderingAgreements
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 TestMarketplaceOrderingAgreementsMarketplaceAgreementsOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(MarketplaceOrderingAgreements)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_get(self, resource_group):
response = self.client.marketplace_agreements.get(
offer_type="str",
publisher_id="str",
offer_id="str",
plan_id="str",
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_create(self, resource_group):
response = self.client.marketplace_agreements.create(
offer_type="str",
publisher_id="str",
offer_id="str",
plan_id="str",
parameters={
"accepted": bool,
"id": "str",
"licenseTextLink": "str",
"marketplaceTermsLink": "str",
"name": "str",
"plan": "str",
"privacyPolicyLink": "str",
"product": "str",
"publisher": "str",
"retrieveDatetime": "str",
"signature": "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="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_sign(self, resource_group):
response = self.client.marketplace_agreements.sign(
publisher_id="str",
offer_id="str",
plan_id="str",
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_cancel(self, resource_group):
response = self.client.marketplace_agreements.cancel(
publisher_id="str",
offer_id="str",
plan_id="str",
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_get_agreement(self, resource_group):
response = self.client.marketplace_agreements.get_agreement(
publisher_id="str",
offer_id="str",
plan_id="str",
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.marketplace_agreements.list(
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...

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

@ -0,0 +1,119 @@
# 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.marketplaceordering.aio import MarketplaceOrderingAgreements
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 TestMarketplaceOrderingAgreementsMarketplaceAgreementsOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(MarketplaceOrderingAgreements, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_get(self, resource_group):
response = await self.client.marketplace_agreements.get(
offer_type="str",
publisher_id="str",
offer_id="str",
plan_id="str",
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_create(self, resource_group):
response = await self.client.marketplace_agreements.create(
offer_type="str",
publisher_id="str",
offer_id="str",
plan_id="str",
parameters={
"accepted": bool,
"id": "str",
"licenseTextLink": "str",
"marketplaceTermsLink": "str",
"name": "str",
"plan": "str",
"privacyPolicyLink": "str",
"product": "str",
"publisher": "str",
"retrieveDatetime": "str",
"signature": "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="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_sign(self, resource_group):
response = await self.client.marketplace_agreements.sign(
publisher_id="str",
offer_id="str",
plan_id="str",
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_cancel(self, resource_group):
response = await self.client.marketplace_agreements.cancel(
publisher_id="str",
offer_id="str",
plan_id="str",
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_get_agreement(self, resource_group):
response = await self.client.marketplace_agreements.get_agreement(
publisher_id="str",
offer_id="str",
plan_id="str",
api_version="2021-01-01",
)
# please add some check logic here by yourself
# ...
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = await self.client.marketplace_agreements.list(
api_version="2021-01-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.marketplaceordering import MarketplaceOrderingAgreements
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 TestMarketplaceOrderingAgreementsOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(MarketplaceOrderingAgreements)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.operations.list(
api_version="2021-01-01",
)
result = [r for r in response]
# 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.marketplaceordering.aio import MarketplaceOrderingAgreements
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 TestMarketplaceOrderingAgreementsOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(MarketplaceOrderingAgreements, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = self.client.operations.list(
api_version="2021-01-01",
)
result = [r async for r in response]
# please add some check logic here by yourself
# ...

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

@ -3,7 +3,7 @@ package_name = "azure-mgmt-marketplaceordering"
package_nspkg = "azure-mgmt-nspkg"
package_pprint_name = "Market Place Ordering"
package_doc_id = ""
is_stable = false
is_stable = true
is_arm = true
sample_link = ""
title = "MarketplaceOrderingAgreements"

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

@ -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-marketplaceordering"
PACKAGE_PPRINT_NAME = "Market Place Ordering"
# 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",
)

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

@ -1,55 +1,47 @@
# coding=utf-8
# --------------------------------------------------------------------------
#
# Copyright (c) Microsoft Corporation. All rights reserved.
#
# The MIT License (MIT)
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the ""Software""), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
#
# 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 platform
import pytest
import sys
from dotenv import load_dotenv
from devtools_testutils import test_proxy, add_general_regex_sanitizer
from devtools_testutils import add_header_regex_sanitizer, add_body_key_sanitizer
# Ignore async tests for Python < 3.5
collect_ignore_glob = []
if sys.version_info < (3, 5) or platform.python_implementation() == "PyPy":
collect_ignore_glob.append("*_async.py")
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):
subscription_id = os.environ.get("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000")
tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000")
client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000")
client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=subscription_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=tenant_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=client_id, value="00000000-0000-0000-0000-000000000000")
add_general_regex_sanitizer(regex=client_secret, value="00000000-0000-0000-0000-000000000000")
marketplaceorderingagreements_subscription_id = os.environ.get(
"AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000"
)
marketplaceorderingagreements_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000")
marketplaceorderingagreements_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000")
marketplaceorderingagreements_client_secret = os.environ.get(
"AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000"
)
add_general_regex_sanitizer(
regex=marketplaceorderingagreements_subscription_id, value="00000000-0000-0000-0000-000000000000"
)
add_general_regex_sanitizer(
regex=marketplaceorderingagreements_tenant_id, value="00000000-0000-0000-0000-000000000000"
)
add_general_regex_sanitizer(
regex=marketplaceorderingagreements_client_id, value="00000000-0000-0000-0000-000000000000"
)
add_general_regex_sanitizer(
regex=marketplaceorderingagreements_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")
add_body_key_sanitizer(json_path="$..access_token", value="access_token")

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

@ -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.marketplaceordering.aio import MarketplaceOrderingAgreements
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.live_test_only
class TestMarketplaceOrderingAgreementsMarketplaceAgreementsOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(MarketplaceOrderingAgreements, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = await self.client.marketplace_agreements.list()
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.marketplaceordering import MarketplaceOrderingAgreements
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.live_test_only
class TestMarketplaceOrderingAgreementsMarketplaceAgreementsOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(MarketplaceOrderingAgreements)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.marketplace_agreements.list()
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.marketplaceordering.aio import MarketplaceOrderingAgreements
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
from devtools_testutils.aio import recorded_by_proxy_async
AZURE_LOCATION = "eastus"
@pytest.mark.live_test_only
class TestMarketplaceOrderingAgreementsOperationsAsync(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(MarketplaceOrderingAgreements, is_async=True)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy_async
async def test_list(self, resource_group):
response = self.client.operations.list()
result = [r async for r in response]
assert result

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

@ -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.marketplaceordering import MarketplaceOrderingAgreements
from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
AZURE_LOCATION = "eastus"
@pytest.mark.live_test_only
class TestMarketplaceOrderingAgreementsOperations(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(MarketplaceOrderingAgreements)
@RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
@recorded_by_proxy
def test_list(self, resource_group):
response = self.client.operations.list()
result = [r for r in response]
assert result

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

@ -1,29 +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.
#--------------------------------------------------------------------------
# --------------------------------------------------------------------------
import azure.mgmt.marketplaceordering
from devtools_testutils import AzureMgmtRecordedTestCase, ResourceGroupPreparer, recorded_by_proxy
import pytest
@pytest.mark.live_test_only
class TestMgmtMPO(AzureMgmtRecordedTestCase):
def setup_method(self, method):
self.client = self.create_mgmt_client(
azure.mgmt.marketplaceordering.MarketplaceOrderingAgreements
)
self.client = self.create_mgmt_client(azure.mgmt.marketplaceordering.MarketplaceOrderingAgreements)
@recorded_by_proxy
def test_basic(self):
result = self.client.marketplace_agreements.get(
offer_type="virtualmachine",
publisher_id="intel-bigdl",
offer_id="bigdl_vm",
plan_id="bigdl_vm_0p4"
offer_type="virtualmachine", publisher_id="intel-bigdl", offer_id="bigdl_vm", plan_id="bigdl_vm_0p4"
)
assert result.name == "bigdl_vm_0p4"
assert result.plan == "bigdl_vm_0p4"