[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:
Родитель
a7661c7d0b
Коммит
c846afc0f3
|
@ -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"
|
Загрузка…
Ссылка в новой задаче