From 843a0cb6229d2658b17fe6bfc92f299f0ee9ffa2 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 25 Jan 2024 23:02:06 +0000 Subject: [PATCH] CodeGen from PR 27519 in Azure/azure-rest-api-specs Merge 3f134afb066f6c67b8ce5d68d863d8eaca0cc5f3 into 8fc3dd4d4582aa2c8201af98e6f1143521cb76fc --- .../azure-mgmt-hybridkubernetes/_meta.json | 10 +- .../azure/mgmt/hybridkubernetes/__init__.py | 2 +- .../mgmt/hybridkubernetes/_configuration.py | 17 +- .../_connected_kubernetes_client.py | 19 +- .../mgmt/hybridkubernetes/_serialization.py | 206 ++++++----- .../azure/mgmt/hybridkubernetes/_vendor.py | 11 - .../azure/mgmt/hybridkubernetes/_version.py | 2 +- .../mgmt/hybridkubernetes/aio/__init__.py | 2 +- .../hybridkubernetes/aio/_configuration.py | 12 +- .../aio/_connected_kubernetes_client.py | 12 +- .../aio/operations/__init__.py | 2 +- .../_connected_cluster_operations.py | 203 ++++++----- .../aio/operations/_operations.py | 24 +- .../mgmt/hybridkubernetes/models/__init__.py | 18 +- .../_connected_kubernetes_client_enums.py | 30 ++ .../hybridkubernetes/models/_models_py3.py | 345 ++++++++++++++++-- .../hybridkubernetes/operations/__init__.py | 2 +- .../_connected_cluster_operations.py | 239 ++++++------ .../operations/_operations.py | 26 +- ...ist_cluster_credential_result_csp_token.py | 42 +++ ...s_list_cluster_credential_result_cspaad.py | 42 +++ ...list_cluster_credential_result_hp_token.py | 42 +++ ...rs_list_cluster_credential_result_hpaad.py | 42 +++ .../create_cluster_example.py | 52 +++ .../create_cluster_kind_example.py | 63 ++++ .../create_cluster_private_link_example.py | 54 +++ .../delete_cluster_example.py | 5 +- .../generated_samples/get_cluster_example.py | 2 +- ...get_clusters_by_resource_group_example.py} | 4 +- .../get_clusters_by_subscription_example.py | 39 ++ .../get_provisioned_cluster_example.py | 41 +++ ...st_connected_cluster_operations_example.py | 2 +- .../update_cluster_example.py | 45 +++ 33 files changed, 1215 insertions(+), 442 deletions(-) create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_csp_token.py create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_cspaad.py create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_hp_token.py create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_hpaad.py create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_example.py create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_kind_example.py create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_private_link_example.py rename sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/{get_clusters_example.py => get_clusters_by_resource_group_example.py} (90%) create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_by_subscription_example.py create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_provisioned_cluster_example.py create mode 100644 sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/update_cluster_example.py diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/_meta.json b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/_meta.json index 5471d349ae254..e05d6ae2e317b 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/_meta.json +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/_meta.json @@ -1,11 +1,11 @@ { - "commit": "7d6c14d986a67dca3451d7d92d8f6b9416d61fbf", + "commit": "f410ba6778ab7c80ef12ca82d890a67cc371a74d", "repository_url": "https://github.com/Azure/azure-rest-api-specs", - "autorest": "3.9.2", + "autorest": "3.9.7", "use": [ - "@autorest/python@6.2.1", - "@autorest/modelerfour@4.24.3" + "@autorest/python@6.7.1", + "@autorest/modelerfour@4.26.2" ], - "autorest_command": "autorest specification/hybridkubernetes/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/hybridkubernetes/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-python/sdk --use=@autorest/python@6.7.1 --use=@autorest/modelerfour@4.26.2 --version=3.9.7 --version-tolerant=False", "readme": "specification/hybridkubernetes/resource-manager/readme.md" } \ No newline at end of file diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/__init__.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/__init__.py index 3a398ff7b07a1..e9d07f36a337f 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/__init__.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/__init__.py @@ -13,7 +13,7 @@ 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 diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_configuration.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_configuration.py index 898b0baad7413..1f70aa24f266c 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_configuration.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_configuration.py @@ -6,7 +6,6 @@ # 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 @@ -15,11 +14,6 @@ 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 @@ -35,14 +29,14 @@ class ConnectedKubernetesClientConfiguration(Configuration): # pylint: disable= :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. Required. :type subscription_id: str - :keyword api_version: Api Version. Default value is "2021-10-01". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2024-02-01-preview". Note that overriding + this default value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None: super(ConnectedKubernetesClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop("api_version", "2021-10-01") # type: Literal["2021-10-01"] + api_version: str = kwargs.pop("api_version", "2024-02-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -56,10 +50,7 @@ def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs kwargs.setdefault("sdk_moniker", "mgmt-hybridkubernetes/{}".format(VERSION)) 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) diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_connected_kubernetes_client.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_connected_kubernetes_client.py index b451f54fe3c71..30eb9a8035b9c 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_connected_kubernetes_client.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_connected_kubernetes_client.py @@ -12,7 +12,7 @@ from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient -from . import models +from . import models as _models from ._configuration import ConnectedKubernetesClientConfiguration from ._serialization import Deserializer, Serializer from .operations import ConnectedClusterOperations, Operations @@ -35,8 +35,8 @@ class ConnectedKubernetesClient: # pylint: disable=client-accepts-api-version-k :type subscription_id: str :param base_url: Service URL. Default value is "https://management.azure.com". :type base_url: str - :keyword api_version: Api Version. Default value is "2021-10-01". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2024-02-01-preview". Note that overriding + this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. @@ -52,9 +52,9 @@ def __init__( self._config = ConnectedKubernetesClientConfiguration( credential=credential, subscription_id=subscription_id, **kwargs ) - self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, config=self._config, **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 @@ -85,15 +85,12 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: request_copy.url = self._client.format_url(request_copy.url) return self._client.send_request(request_copy, **kwargs) - def close(self): - # type: () -> None + def close(self) -> None: self._client.close() - def __enter__(self): - # type: () -> ConnectedKubernetesClient + def __enter__(self) -> "ConnectedKubernetesClient": 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) diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_serialization.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_serialization.py index 7c1dedb5133d3..4bae2292227bd 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_serialization.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_serialization.py @@ -25,6 +25,7 @@ # -------------------------------------------------------------------------- # pylint: skip-file +# pyright: reportUnnecessaryTypeIgnoreComment=false from base64 import b64decode, b64encode import calendar @@ -37,23 +38,38 @@ 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 - -from typing import Dict, Any, cast, TYPE_CHECKING +import isodate # type: ignore from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback +from azure.core.serialization import NULL as AzureCoreNull _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. @@ -132,8 +147,7 @@ def _json_attemp(data): 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 @@ -160,8 +174,8 @@ def deserialize_from_http_generics(cls, body_bytes, headers): basestring # type: ignore unicode_str = unicode # type: ignore except NameError: - basestring = str # type: ignore - unicode_str = str # type: ignore + basestring = str + unicode_str = str _LOGGER = logging.getLogger(__name__) @@ -188,7 +202,7 @@ def dst(self, dt): 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 +233,7 @@ def __getinitargs__(self): try: from datetime import timezone - TZ_UTC = timezone.utc # type: ignore + TZ_UTC = timezone.utc except ImportError: TZ_UTC = UTC() # type: ignore @@ -276,12 +290,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: 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 +304,27 @@ def __init__(self, **kwargs): 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,13 +333,13 @@ def is_xml_model(cls): 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): + def serialize(self, keep_readonly: bool = False, **kwargs: Any) -> JSON: """Return the JSON that would be sent to azure from this model. This is an alias to `as_dict(full_restapi_key_transformer, keep_readonly=False)`. @@ -339,8 +353,13 @@ def serialize(self, keep_readonly=False, **kwargs): serializer = Serializer(self._infer_class_models()) return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs) - 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: @@ -387,7 +406,7 @@ def _infer_class_models(cls): 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. @@ -399,7 +418,12 @@ def deserialize(cls, data, content_type=None): return deserializer(cls.__name__, data, content_type=content_type) @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 +436,8 @@ def from_dict(cls, data, key_extractors=None, content_type=None): :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, @@ -453,7 +477,7 @@ def _classify(cls, response, objects): 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 +545,7 @@ class Serializer(object): "multiple": lambda x, y: x % y != 0, } - def __init__(self, classes=None): + def __init__(self, classes: Optional[Mapping[str, Type[ModelType]]] = None): self.serialize_type = { "iso-8601": Serializer.serialize_iso, "rfc-1123": Serializer.serialize_rfc, @@ -537,7 +561,7 @@ def __init__(self, classes=None): "[]": self.serialize_iter, "{}": self.serialize_dict, } - self.dependencies = dict(classes) if classes else {} + self.dependencies: Dict[str, Type[ModelType]] = dict(classes) if classes else {} self.key_transformer = full_restapi_key_transformer self.client_side_validation = True @@ -605,14 +629,14 @@ def _serialize(self, target_obj, data_type=None, **kwargs): 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,26 +645,26 @@ def _serialize(self, target_obj, data_type=None, **kwargs): 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) + 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)) @@ -659,8 +683,8 @@ def body(self, data, data_type, **kwargs): """ # 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 +699,7 @@ def body(self, data, data_type, **kwargs): # 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: @@ -718,6 +742,8 @@ def query(self, name, data, data_type, **kwargs): :param data: The data to be serialized. :param str data_type: The type to be serialized from. + :keyword bool skip_quote: Whether to skip quote the serialized result. + Defaults to False. :rtype: str :raises: TypeError if serialization fails. :raises: ValueError if data is None @@ -726,10 +752,8 @@ def query(self, name, data, data_type, **kwargs): # Treat the list aside, since we don't want to encode the div separator if data_type.startswith("["): internal_data_type = data_type[1:-1] - data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] - if not kwargs.get("skip_quote", False): - data = [quote(str(d), safe="") for d in data] - return str(self.serialize_iter(data, internal_data_type, **kwargs)) + do_quote = not kwargs.get("skip_quote", False) + return str(self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs)) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) @@ -780,6 +804,8 @@ def serialize_data(self, data, data_type, **kwargs): raise ValueError("No value for given attribute") try: + if data is AzureCoreNull: + return None if data_type in self.basic_types.values(): return self.serialize_basic(data, data_type, **kwargs) @@ -843,7 +869,7 @@ def serialize_unicode(cls, data): 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 +892,8 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): not be None or empty. :param str div: If set, this str will be used to combine the elements in the iterable into a combined string. Default is 'None'. + :keyword bool do_quote: Whether to quote the serialized result of each iterable element. + Defaults to False. :rtype: list, str """ if isinstance(data, str): @@ -878,9 +906,14 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): for d in data: try: serialized.append(self.serialize_data(d, iter_type, **kwargs)) - except ValueError: + except ValueError as err: + if isinstance(err, SerializationError): + raise serialized.append(None) + if kwargs.get("do_quote", False): + serialized = ["" if s is None else quote(str(s), safe="") for s in serialized] + if div: serialized = ["" if s is None else str(s) for s in serialized] serialized = div.join(serialized) @@ -925,7 +958,9 @@ def serialize_dict(self, attr, dict_type, **kwargs): for key, value in attr.items(): try: serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) - except ValueError: + except ValueError as err: + if isinstance(err, SerializationError): + raise serialized[self.serialize_unicode(key)] = None if "xml" in serialization_ctxt: @@ -1001,10 +1036,10 @@ def serialize_enum(attr, enum_obj=None): 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}" @@ -1164,7 +1199,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 @@ -1245,7 +1281,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 +1305,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 +1371,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[ModelType]]] = None): self.deserialize_type = { "iso-8601": Deserializer.deserialize_iso, "rfc-1123": Deserializer.deserialize_rfc, @@ -1355,7 +1391,7 @@ def __init__(self, classes=None): "duration": (isodate.Duration, datetime.timedelta), "iso-8601": (datetime.datetime), } - self.dependencies = dict(classes) if classes else {} + self.dependencies: Dict[str, Type[ModelType]] = 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 @@ -1416,7 +1452,7 @@ def _deserialize(self, target_obj, data): if data is None: 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,7 +1480,7 @@ def _deserialize(self, target_obj, data): 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 + msg = "Unable to deserialize to object: " + class_name # type: ignore raise_with_traceback(DeserializationError, msg, err) else: additional_properties = self._build_additional_properties(attributes, data) @@ -1474,7 +1510,7 @@ def _classify_target(self, target, data): 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 @@ -1489,7 +1525,7 @@ def _classify_target(self, target, data): target = target._classify(data, self.dependencies) 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 +1535,7 @@ def failsafe_deserialize(self, target_obj, data, content_type=None): 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: @@ -1543,7 +1579,7 @@ def _unpack_content(raw_data, content_type=None): 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) + 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 +1601,7 @@ def _instantiate_model(self, response, attrs, additional_properties=None): 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: @@ -1747,7 +1783,7 @@ def deserialize_unicode(data): # Consider this is real string try: - if isinstance(data, unicode): + if isinstance(data, unicode): # type: ignore return data except NameError: return str(data) @@ -1798,7 +1834,7 @@ def deserialize_bytearray(attr): """ 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 +1846,8 @@ def deserialize_base64(attr): """ 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,7 +1862,7 @@ def deserialize_decimal(attr): if isinstance(attr, ET.Element): attr = attr.text try: - return decimal.Decimal(attr) + return decimal.Decimal(attr) # type: ignore except decimal.DecimalException as err: msg = "Invalid decimal {}".format(attr) raise_with_traceback(DeserializationError, msg, err) @@ -1841,7 +1877,7 @@ def deserialize_long(attr): """ if isinstance(attr, ET.Element): attr = attr.text - return _long_type(attr) + return _long_type(attr) # type: ignore @staticmethod def deserialize_duration(attr): @@ -1871,7 +1907,7 @@ def deserialize_date(attr): """ 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) @@ -1886,7 +1922,7 @@ def deserialize_time(attr): """ 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 +1937,7 @@ def deserialize_rfc(attr): 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)) ) @@ -1924,7 +1960,7 @@ def deserialize_iso(attr): 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) @@ -1960,7 +1996,7 @@ def deserialize_unix(attr): :raises: DeserializationError if format invalid """ if isinstance(attr, ET.Element): - attr = int(attr.text) + attr = int(attr.text) # type: ignore try: date_obj = datetime.datetime.fromtimestamp(attr, TZ_UTC) except ValueError as err: diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_vendor.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_vendor.py index 9aad73fc743e7..0dafe0e287ff1 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_vendor.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_vendor.py @@ -14,14 +14,3 @@ def _convert_request(request, files=None): if files: request.set_formdata_body(files) return request - - -def _format_url_section(template, **kwargs): - components = template.split("/") - while components: - try: - return template.format(**kwargs) - except KeyError as key: - formatted_components = template.split("/") - components = [c for c in formatted_components if "{}".format(key.args[0]) not in c] - template = "/".join(components) diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_version.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_version.py index 58920e6942de0..e5754a47ce68f 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_version.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.2.0b1" +VERSION = "1.0.0b1" diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/__init__.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/__init__.py index 7ca2908904e53..0701ffdd4aee6 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/__init__.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/__init__.py @@ -10,7 +10,7 @@ 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 diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/_configuration.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/_configuration.py index c8eb9acfecc91..8b62c2b64ddf3 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/_configuration.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/_configuration.py @@ -6,7 +6,6 @@ # 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 @@ -15,11 +14,6 @@ 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 @@ -35,14 +29,14 @@ class ConnectedKubernetesClientConfiguration(Configuration): # pylint: disable= :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. Required. :type subscription_id: str - :keyword api_version: Api Version. Default value is "2021-10-01". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2024-02-01-preview". Note that overriding + this default value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None: super(ConnectedKubernetesClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop("api_version", "2021-10-01") # type: Literal["2021-10-01"] + api_version: str = kwargs.pop("api_version", "2024-02-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/_connected_kubernetes_client.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/_connected_kubernetes_client.py index 72b473e4c0dfc..bf717ef369b5d 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/_connected_kubernetes_client.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/_connected_kubernetes_client.py @@ -12,7 +12,7 @@ from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient -from .. import models +from .. import models as _models from .._serialization import Deserializer, Serializer from ._configuration import ConnectedKubernetesClientConfiguration from .operations import ConnectedClusterOperations, Operations @@ -36,8 +36,8 @@ class ConnectedKubernetesClient: # pylint: disable=client-accepts-api-version-k :type subscription_id: str :param base_url: Service URL. Default value is "https://management.azure.com". :type base_url: str - :keyword api_version: Api Version. Default value is "2021-10-01". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2024-02-01-preview". Note that overriding + this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. @@ -53,9 +53,9 @@ def __init__( self._config = ConnectedKubernetesClientConfiguration( credential=credential, subscription_id=subscription_id, **kwargs ) - self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client: AsyncARMPipelineClient = AsyncARMPipelineClient(base_url=base_url, config=self._config, **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 @@ -93,5 +93,5 @@ async def __aenter__(self) -> "ConnectedKubernetesClient": 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) diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/__init__.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/__init__.py index 795e9a8dbdf44..5520b186cda40 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/__init__.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/__init__.py @@ -10,7 +10,7 @@ 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__ = [ diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/_connected_cluster_operations.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/_connected_cluster_operations.py index ab65adaa253d2..c056dec75e5dc 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/_connected_cluster_operations.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/_connected_cluster_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -41,10 +41,6 @@ build_update_request, ) -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 T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -86,16 +82,14 @@ async def _create_initial( _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-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedCluster] + 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.ConnectedCluster] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(connected_cluster, (IO, bytes)): + if isinstance(connected_cluster, (IOBase, bytes)): _content = connected_cluster else: _json = self._serialize.body(connected_cluster, "ConnectedCluster") @@ -113,10 +107,11 @@ async def _create_initial( 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 @@ -133,11 +128,13 @@ async def _create_initial( deserialized = self._deserialize("ConnectedCluster", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + return deserialized # type: ignore - _create_initial.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + _create_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @overload async def begin_create( @@ -237,8 +234,8 @@ async def begin_create( :type resource_group_name: str :param cluster_name: The name of the Kubernetes cluster on which get is called. Required. :type cluster_name: str - :param connected_cluster: Parameters supplied to Create a Connected Cluster. Is either a model - type or a IO type. Required. + :param connected_cluster: Parameters supplied to Create a Connected Cluster. Is either a + ConnectedCluster type or a IO type. Required. :type connected_cluster: ~azure.mgmt.hybridkubernetes.models.ConnectedCluster or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -260,16 +257,14 @@ async def begin_create( _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-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedCluster] - polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ConnectedCluster] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] + cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = await self._create_initial( # type: ignore + raw_result = await self._create_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, connected_cluster=connected_cluster, @@ -289,10 +284,10 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method = cast( + polling_method: AsyncPollingMethod = cast( AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) # type: AsyncPollingMethod + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -304,9 +299,11 @@ def get_long_running_output(pipeline_response): client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore - begin_create.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + begin_create.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @overload async def update( @@ -386,7 +383,7 @@ async def update( :param cluster_name: The name of the Kubernetes cluster on which get is called. Required. :type cluster_name: str :param connected_cluster_patch: Parameters supplied to update Connected Cluster. Is either a - model type or a IO type. Required. + ConnectedClusterPatch type or a IO type. Required. :type connected_cluster_patch: ~azure.mgmt.hybridkubernetes.models.ConnectedClusterPatch or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -407,16 +404,14 @@ async def update( _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-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedCluster] + 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.ConnectedCluster] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(connected_cluster_patch, (IO, bytes)): + if isinstance(connected_cluster_patch, (IOBase, bytes)): _content = connected_cluster_patch else: _json = self._serialize.body(connected_cluster_patch, "ConnectedClusterPatch") @@ -434,10 +429,11 @@ async def update( 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 @@ -454,7 +450,9 @@ async def update( return deserialized - update.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + update.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @distributed_trace_async async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _models.ConnectedCluster: @@ -484,10 +482,8 @@ async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedCluster] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ConnectedCluster] = kwargs.pop("cls", None) request = build_get_request( resource_group_name=resource_group_name, @@ -499,10 +495,11 @@ async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) 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 @@ -519,7 +516,9 @@ async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) return deserialized - get.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + get.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } async def _delete_initial( # pylint: disable=inconsistent-return-statements self, resource_group_name: str, cluster_name: str, **kwargs: Any @@ -535,10 +534,8 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[None] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( resource_group_name=resource_group_name, @@ -550,10 +547,11 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements 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 @@ -566,7 +564,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - _delete_initial.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + _delete_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @distributed_trace_async async def begin_delete(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> AsyncLROPoller[None]: @@ -594,13 +594,11 @@ async def begin_delete(self, resource_group_name: str, cluster_name: str, **kwar _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[None] - polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] + cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: raw_result = await self._delete_initial( # type: ignore resource_group_name=resource_group_name, @@ -618,9 +616,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method = cast( + polling_method: AsyncPollingMethod = cast( AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) - ) # type: AsyncPollingMethod + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -632,9 +630,11 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore - begin_delete.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + begin_delete.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @overload async def list_cluster_user_credential( @@ -716,8 +716,8 @@ async def list_cluster_user_credential( :type resource_group_name: str :param cluster_name: The name of the Kubernetes cluster on which get is called. Required. :type cluster_name: str - :param properties: ListClusterUserCredential properties. Is either a model type or a IO type. - Required. + :param properties: ListClusterUserCredential properties. Is either a + ListClusterUserCredentialProperties type or a IO type. Required. :type properties: ~azure.mgmt.hybridkubernetes.models.ListClusterUserCredentialProperties or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -738,16 +738,14 @@ async def list_cluster_user_credential( _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-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] - cls = kwargs.pop("cls", None) # type: ClsType[_models.CredentialResults] + 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.CredentialResults] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(properties, (IO, bytes)): + if isinstance(properties, (IOBase, bytes)): _content = properties else: _json = self._serialize.body(properties, "ListClusterUserCredentialProperties") @@ -765,10 +763,11 @@ async def list_cluster_user_credential( 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 @@ -785,7 +784,9 @@ async def list_cluster_user_credential( return deserialized - list_cluster_user_credential.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}/listClusterUserCredential"} # type: ignore + list_cluster_user_credential.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}/listClusterUserCredential" + } @distributed_trace def list_by_resource_group( @@ -807,10 +808,8 @@ def list_by_resource_group( _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedClusterList] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ConnectedClusterList] = kwargs.pop("cls", None) error_map = { 401: ClientAuthenticationError, @@ -832,7 +831,7 @@ def prepare_request(next_link=None): 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 @@ -848,7 +847,7 @@ def prepare_request(next_link=None): "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.url = self._client.format_url(request.url) request.method = "GET" return request @@ -856,14 +855,15 @@ async def extract_data(pipeline_response): deserialized = self._deserialize("ConnectedClusterList", 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) - 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 @@ -876,7 +876,9 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - list_by_resource_group.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters"} # type: ignore + list_by_resource_group.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters" + } @distributed_trace def list_by_subscription(self, **kwargs: Any) -> AsyncIterable["_models.ConnectedCluster"]: @@ -893,10 +895,8 @@ def list_by_subscription(self, **kwargs: Any) -> AsyncIterable["_models.Connecte _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedClusterList] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ConnectedClusterList] = kwargs.pop("cls", None) error_map = { 401: ClientAuthenticationError, @@ -917,7 +917,7 @@ def prepare_request(next_link=None): 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 @@ -933,7 +933,7 @@ def prepare_request(next_link=None): "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.url = self._client.format_url(request.url) request.method = "GET" return request @@ -941,14 +941,15 @@ async def extract_data(pipeline_response): deserialized = self._deserialize("ConnectedClusterList", 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) - 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 @@ -961,4 +962,6 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - list_by_subscription.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.Kubernetes/connectedClusters"} # type: ignore + list_by_subscription.metadata = { + "url": "/subscriptions/{subscriptionId}/providers/Microsoft.Kubernetes/connectedClusters" + } diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/_operations.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/_operations.py index 8bcf783464816..edbae0177b643 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/_operations.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/aio/operations/_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # 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 import urllib.parse @@ -30,10 +29,6 @@ from ..._vendor import _convert_request from ...operations._operations import build_get_request -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 T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -69,10 +64,8 @@ def get(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]: _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[_models.OperationList] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.OperationList] = kwargs.pop("cls", None) error_map = { 401: ClientAuthenticationError, @@ -92,7 +85,7 @@ def prepare_request(next_link=None): 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 @@ -108,7 +101,7 @@ def prepare_request(next_link=None): "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.url = self._client.format_url(request.url) request.method = "GET" return request @@ -116,14 +109,15 @@ async def extract_data(pipeline_response): deserialized = self._deserialize("OperationList", 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) - 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,4 +130,4 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - get.metadata = {"url": "/providers/Microsoft.Kubernetes/operations"} # type: ignore + get.metadata = {"url": "/providers/Microsoft.Kubernetes/operations"} diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/__init__.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/__init__.py index 7ac13e29c39e0..b98c28fc073b4 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/__init__.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/__init__.py @@ -6,6 +6,9 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from ._models_py3 import AadProfile +from ._models_py3 import AgentError +from ._models_py3 import ArcAgentProfile from ._models_py3 import ConnectedCluster from ._models_py3 import ConnectedClusterIdentity from ._models_py3 import ConnectedClusterList @@ -21,20 +24,28 @@ from ._models_py3 import OperationDisplay from ._models_py3 import OperationList from ._models_py3 import Resource +from ._models_py3 import SystemComponent from ._models_py3 import SystemData from ._models_py3 import TrackedResource from ._connected_kubernetes_client_enums import AuthenticationMethod +from ._connected_kubernetes_client_enums import AutoUpgradeOptions +from ._connected_kubernetes_client_enums import AzureHybridBenefit +from ._connected_kubernetes_client_enums import ConnectedClusterKind from ._connected_kubernetes_client_enums import ConnectivityStatus from ._connected_kubernetes_client_enums import CreatedByType from ._connected_kubernetes_client_enums import LastModifiedByType +from ._connected_kubernetes_client_enums import PrivateLinkState from ._connected_kubernetes_client_enums import ProvisioningState from ._connected_kubernetes_client_enums import ResourceIdentityType 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__ = [ + "AadProfile", + "AgentError", + "ArcAgentProfile", "ConnectedCluster", "ConnectedClusterIdentity", "ConnectedClusterList", @@ -50,12 +61,17 @@ "OperationDisplay", "OperationList", "Resource", + "SystemComponent", "SystemData", "TrackedResource", "AuthenticationMethod", + "AutoUpgradeOptions", + "AzureHybridBenefit", + "ConnectedClusterKind", "ConnectivityStatus", "CreatedByType", "LastModifiedByType", + "PrivateLinkState", "ProvisioningState", "ResourceIdentityType", ] diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/_connected_kubernetes_client_enums.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/_connected_kubernetes_client_enums.py index d167a2ec259f8..94f00dda64288 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/_connected_kubernetes_client_enums.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/_connected_kubernetes_client_enums.py @@ -17,6 +17,29 @@ class AuthenticationMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta): AAD = "AAD" +class AutoUpgradeOptions(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Indicates whether the Arc agents on the be upgraded automatically to the latest version. + Defaults to Enabled. + """ + + ENABLED = "Enabled" + DISABLED = "Disabled" + + +class AzureHybridBenefit(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Indicates whether Azure Hybrid Benefit is opted in.""" + + TRUE = "True" + FALSE = "False" + NOT_APPLICABLE = "NotApplicable" + + +class ConnectedClusterKind(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Indicates the kind of Arc connected cluster based on host infrastructure.""" + + PROVISIONED_CLUSTER = "ProvisionedCluster" + + class ConnectivityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Represents the connectivity status of the connected cluster.""" @@ -44,6 +67,13 @@ class LastModifiedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): KEY = "Key" +class PrivateLinkState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Property which describes the state of private link on a connected cluster resource.""" + + ENABLED = "Enabled" + DISABLED = "Disabled" + + class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The current deployment state of connectedClusters.""" diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/_models_py3.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/_models_py3.py index 3f569b0dc045e..47e74eecde63a 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/_models_py3.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/models/_models_py3.py @@ -8,20 +8,143 @@ # -------------------------------------------------------------------------- import datetime -import sys from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union from .. import _serialization -if sys.version_info >= (3, 9): - from collections.abc import MutableMapping -else: - from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports - if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from .. import models as _models -JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object + + +class AadProfile(_serialization.Model): + """AAD Profile specifies attributes for Azure Active Directory integration. + + :ivar enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. + :vartype enable_azure_rbac: bool + :ivar admin_group_object_i_ds: The list of AAD group object IDs that will have admin role of + the cluster. + :vartype admin_group_object_i_ds: list[str] + :ivar tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the + tenant of the deployment subscription. + :vartype tenant_id: str + """ + + _attribute_map = { + "enable_azure_rbac": {"key": "enableAzureRBAC", "type": "bool"}, + "admin_group_object_i_ds": {"key": "adminGroupObjectIDs", "type": "[str]"}, + "tenant_id": {"key": "tenantID", "type": "str"}, + } + + def __init__( + self, + *, + enable_azure_rbac: Optional[bool] = None, + admin_group_object_i_ds: Optional[List[str]] = None, + tenant_id: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. + :paramtype enable_azure_rbac: bool + :keyword admin_group_object_i_ds: The list of AAD group object IDs that will have admin role of + the cluster. + :paramtype admin_group_object_i_ds: list[str] + :keyword tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the + tenant of the deployment subscription. + :paramtype tenant_id: str + """ + super().__init__(**kwargs) + self.enable_azure_rbac = enable_azure_rbac + self.admin_group_object_i_ds = admin_group_object_i_ds + self.tenant_id = tenant_id + + +class AgentError(_serialization.Model): + """Agent Errors if any during agent or system component upgrade. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar message: Agent error message. + :vartype message: str + :ivar severity: Severity of the error message. + :vartype severity: str + :ivar component: Agent component where error message occured. + :vartype component: str + :ivar time: The timestamp of error occured (UTC). + :vartype time: ~datetime.datetime + """ + + _validation = { + "message": {"readonly": True}, + "severity": {"readonly": True}, + "component": {"readonly": True}, + "time": {"readonly": True}, + } + + _attribute_map = { + "message": {"key": "message", "type": "str"}, + "severity": {"key": "severity", "type": "str"}, + "component": {"key": "component", "type": "str"}, + "time": {"key": "time", "type": "iso-8601"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.message = None + self.severity = None + self.component = None + self.time = None + + +class ArcAgentProfile(_serialization.Model): + """Defines the Arc Agent properties for the clusters. + + :ivar desired_agent_version: Version of the Arc agents to be installed on the cluster resource. + :vartype desired_agent_version: str + :ivar agent_auto_upgrade: Indicates whether the Arc agents on the be upgraded automatically to + the latest version. Defaults to Enabled. Known values are: "Enabled" and "Disabled". + :vartype agent_auto_upgrade: str or ~azure.mgmt.hybridkubernetes.models.AutoUpgradeOptions + :ivar system_components: List of system extensions can be installed on the cluster resource. + :vartype system_components: list[~azure.mgmt.hybridkubernetes.models.SystemComponent] + :ivar agent_errors: List of system extensions can be installed on the cluster resource. + :vartype agent_errors: list[~azure.mgmt.hybridkubernetes.models.AgentError] + """ + + _attribute_map = { + "desired_agent_version": {"key": "desiredAgentVersion", "type": "str"}, + "agent_auto_upgrade": {"key": "agentAutoUpgrade", "type": "str"}, + "system_components": {"key": "systemComponents", "type": "[SystemComponent]"}, + "agent_errors": {"key": "agentErrors", "type": "[AgentError]"}, + } + + def __init__( + self, + *, + desired_agent_version: Optional[str] = None, + agent_auto_upgrade: Union[str, "_models.AutoUpgradeOptions"] = "Enabled", + system_components: Optional[List["_models.SystemComponent"]] = None, + agent_errors: Optional[List["_models.AgentError"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword desired_agent_version: Version of the Arc agents to be installed on the cluster + resource. + :paramtype desired_agent_version: str + :keyword agent_auto_upgrade: Indicates whether the Arc agents on the be upgraded automatically + to the latest version. Defaults to Enabled. Known values are: "Enabled" and "Disabled". + :paramtype agent_auto_upgrade: str or ~azure.mgmt.hybridkubernetes.models.AutoUpgradeOptions + :keyword system_components: List of system extensions can be installed on the cluster resource. + :paramtype system_components: list[~azure.mgmt.hybridkubernetes.models.SystemComponent] + :keyword agent_errors: List of system extensions can be installed on the cluster resource. + :paramtype agent_errors: list[~azure.mgmt.hybridkubernetes.models.AgentError] + """ + super().__init__(**kwargs) + self.desired_agent_version = desired_agent_version + self.agent_auto_upgrade = agent_auto_upgrade + self.system_components = system_components + self.agent_errors = agent_errors class Resource(_serialization.Model): @@ -51,7 +174,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 @@ -60,7 +183,8 @@ def __init__(self, **kwargs): class TrackedResource(Resource): - """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. + """The resource model definition for an Azure Resource Manager tracked top level resource which + has 'tags' and a 'location'. Variables are only populated by the server, and will be ignored when sending a request. @@ -95,7 +219,7 @@ class TrackedResource(Resource): "location": {"key": "location", "type": "str"}, } - def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs): + def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] @@ -128,6 +252,8 @@ class ConnectedCluster(TrackedResource): # pylint: disable=too-many-instance-at :vartype location: str :ivar identity: The identity of the connected cluster. Required. :vartype identity: ~azure.mgmt.hybridkubernetes.models.ConnectedClusterIdentity + :ivar kind: The kind of connected cluster. "ProvisionedCluster" + :vartype kind: str or ~azure.mgmt.hybridkubernetes.models.ConnectedClusterKind :ivar system_data: Metadata pertaining to creation and last modification of the resource. :vartype system_data: ~azure.mgmt.hybridkubernetes.models.SystemData :ivar agent_public_key_certificate: Base64 encoded public certificate used by the agent to do @@ -146,6 +272,8 @@ class ConnectedCluster(TrackedResource): # pylint: disable=too-many-instance-at :vartype provisioning_state: str or ~azure.mgmt.hybridkubernetes.models.ProvisioningState :ivar distribution: The Kubernetes distribution running on this connected cluster. :vartype distribution: str + :ivar distribution_version: The Kubernetes distribution version on this connected cluster. + :vartype distribution_version: str :ivar infrastructure: The infrastructure on which the Kubernetes cluster represented by this connected cluster is running on. :vartype infrastructure: str @@ -160,6 +288,21 @@ class ConnectedCluster(TrackedResource): # pylint: disable=too-many-instance-at :ivar connectivity_status: Represents the connectivity status of the connected cluster. Known values are: "Connecting", "Connected", "Offline", and "Expired". :vartype connectivity_status: str or ~azure.mgmt.hybridkubernetes.models.ConnectivityStatus + :ivar private_link_state: Property which describes the state of private link on a connected + cluster resource. Known values are: "Enabled" and "Disabled". + :vartype private_link_state: str or ~azure.mgmt.hybridkubernetes.models.PrivateLinkState + :ivar private_link_scope_resource_id: The resource id of the private link scope this connected + cluster is assigned to, if any. + :vartype private_link_scope_resource_id: str + :ivar azure_hybrid_benefit: Indicates whether Azure Hybrid Benefit is opted in. Known values + are: "True", "False", and "NotApplicable". + :vartype azure_hybrid_benefit: str or ~azure.mgmt.hybridkubernetes.models.AzureHybridBenefit + :ivar aad_profile: AAD profile for the connected cluster. + :vartype aad_profile: ~azure.mgmt.hybridkubernetes.models.AadProfile + :ivar arc_agent_profile: Arc agentry configuration for the provisioned cluster. + :vartype arc_agent_profile: ~azure.mgmt.hybridkubernetes.models.ArcAgentProfile + :ivar miscellaneous_properties: More properties related to the Connected Cluster. + :vartype miscellaneous_properties: dict[str, str] """ _validation = { @@ -178,6 +321,7 @@ class ConnectedCluster(TrackedResource): # pylint: disable=too-many-instance-at "managed_identity_certificate_expiration_time": {"readonly": True}, "last_connectivity_time": {"readonly": True}, "connectivity_status": {"readonly": True}, + "miscellaneous_properties": {"readonly": True}, } _attribute_map = { @@ -187,6 +331,7 @@ class ConnectedCluster(TrackedResource): # pylint: disable=too-many-instance-at "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "identity": {"key": "identity", "type": "ConnectedClusterIdentity"}, + "kind": {"key": "kind", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "agent_public_key_certificate": {"key": "properties.agentPublicKeyCertificate", "type": "str"}, "kubernetes_version": {"key": "properties.kubernetesVersion", "type": "str"}, @@ -195,6 +340,7 @@ class ConnectedCluster(TrackedResource): # pylint: disable=too-many-instance-at "agent_version": {"key": "properties.agentVersion", "type": "str"}, "provisioning_state": {"key": "properties.provisioningState", "type": "str"}, "distribution": {"key": "properties.distribution", "type": "str"}, + "distribution_version": {"key": "properties.distributionVersion", "type": "str"}, "infrastructure": {"key": "properties.infrastructure", "type": "str"}, "offering": {"key": "properties.offering", "type": "str"}, "managed_identity_certificate_expiration_time": { @@ -203,20 +349,33 @@ class ConnectedCluster(TrackedResource): # pylint: disable=too-many-instance-at }, "last_connectivity_time": {"key": "properties.lastConnectivityTime", "type": "iso-8601"}, "connectivity_status": {"key": "properties.connectivityStatus", "type": "str"}, + "private_link_state": {"key": "properties.privateLinkState", "type": "str"}, + "private_link_scope_resource_id": {"key": "properties.privateLinkScopeResourceId", "type": "str"}, + "azure_hybrid_benefit": {"key": "properties.azureHybridBenefit", "type": "str"}, + "aad_profile": {"key": "properties.aadProfile", "type": "AadProfile"}, + "arc_agent_profile": {"key": "properties.arcAgentProfile", "type": "ArcAgentProfile"}, + "miscellaneous_properties": {"key": "properties.miscellaneousProperties", "type": "{str}"}, } - def __init__( + def __init__( # pylint: disable=too-many-locals self, *, location: str, identity: "_models.ConnectedClusterIdentity", agent_public_key_certificate: str, tags: Optional[Dict[str, str]] = None, + kind: Optional[Union[str, "_models.ConnectedClusterKind"]] = None, provisioning_state: Optional[Union[str, "_models.ProvisioningState"]] = None, distribution: Optional[str] = None, + distribution_version: Optional[str] = None, infrastructure: Optional[str] = None, - **kwargs - ): + private_link_state: Union[str, "_models.PrivateLinkState"] = "Disabled", + private_link_scope_resource_id: Optional[str] = None, + azure_hybrid_benefit: Optional[Union[str, "_models.AzureHybridBenefit"]] = None, + aad_profile: Optional["_models.AadProfile"] = None, + arc_agent_profile: Optional["_models.ArcAgentProfile"] = None, + **kwargs: Any + ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] @@ -224,6 +383,8 @@ def __init__( :paramtype location: str :keyword identity: The identity of the connected cluster. Required. :paramtype identity: ~azure.mgmt.hybridkubernetes.models.ConnectedClusterIdentity + :keyword kind: The kind of connected cluster. "ProvisionedCluster" + :paramtype kind: str or ~azure.mgmt.hybridkubernetes.models.ConnectedClusterKind :keyword agent_public_key_certificate: Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure. Required. :paramtype agent_public_key_certificate: str @@ -232,12 +393,28 @@ def __init__( :paramtype provisioning_state: str or ~azure.mgmt.hybridkubernetes.models.ProvisioningState :keyword distribution: The Kubernetes distribution running on this connected cluster. :paramtype distribution: str + :keyword distribution_version: The Kubernetes distribution version on this connected cluster. + :paramtype distribution_version: str :keyword infrastructure: The infrastructure on which the Kubernetes cluster represented by this connected cluster is running on. :paramtype infrastructure: str + :keyword private_link_state: Property which describes the state of private link on a connected + cluster resource. Known values are: "Enabled" and "Disabled". + :paramtype private_link_state: str or ~azure.mgmt.hybridkubernetes.models.PrivateLinkState + :keyword private_link_scope_resource_id: The resource id of the private link scope this + connected cluster is assigned to, if any. + :paramtype private_link_scope_resource_id: str + :keyword azure_hybrid_benefit: Indicates whether Azure Hybrid Benefit is opted in. Known values + are: "True", "False", and "NotApplicable". + :paramtype azure_hybrid_benefit: str or ~azure.mgmt.hybridkubernetes.models.AzureHybridBenefit + :keyword aad_profile: AAD profile for the connected cluster. + :paramtype aad_profile: ~azure.mgmt.hybridkubernetes.models.AadProfile + :keyword arc_agent_profile: Arc agentry configuration for the provisioned cluster. + :paramtype arc_agent_profile: ~azure.mgmt.hybridkubernetes.models.ArcAgentProfile """ super().__init__(tags=tags, location=location, **kwargs) self.identity = identity + self.kind = kind self.system_data = None self.agent_public_key_certificate = agent_public_key_certificate self.kubernetes_version = None @@ -246,11 +423,18 @@ def __init__( self.agent_version = None self.provisioning_state = provisioning_state self.distribution = distribution + self.distribution_version = distribution_version self.infrastructure = infrastructure self.offering = None self.managed_identity_certificate_expiration_time = None self.last_connectivity_time = None self.connectivity_status = None + self.private_link_state = private_link_state + self.private_link_scope_resource_id = private_link_scope_resource_id + self.azure_hybrid_benefit = azure_hybrid_benefit + self.aad_profile = aad_profile + self.arc_agent_profile = arc_agent_profile + self.miscellaneous_properties = None class ConnectedClusterIdentity(_serialization.Model): @@ -284,7 +468,7 @@ class ConnectedClusterIdentity(_serialization.Model): "type": {"key": "type", "type": "str"}, } - def __init__(self, *, type: Union[str, "_models.ResourceIdentityType"] = "SystemAssigned", **kwargs): + def __init__(self, *, type: Union[str, "_models.ResourceIdentityType"] = "SystemAssigned", **kwargs: Any) -> None: """ :keyword type: The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system created identity. The type 'None' means no identity is assigned to the @@ -312,8 +496,12 @@ class ConnectedClusterList(_serialization.Model): } def __init__( - self, *, value: Optional[List["_models.ConnectedCluster"]] = None, next_link: Optional[str] = None, **kwargs - ): + self, + *, + value: Optional[List["_models.ConnectedCluster"]] = None, + next_link: Optional[str] = None, + **kwargs: Any + ) -> None: """ :keyword value: The list of connected clusters. :paramtype value: list[~azure.mgmt.hybridkubernetes.models.ConnectedCluster] @@ -330,27 +518,49 @@ class ConnectedClusterPatch(_serialization.Model): :ivar tags: Resource tags. :vartype tags: dict[str, str] - :ivar properties: Describes the connected cluster resource properties that can be updated - during PATCH operation. - :vartype properties: JSON + :ivar distribution: Represents the distribution of the connected cluster. + :vartype distribution: str + :ivar distribution_version: Represents the Kubernetes distribution version on this connected + cluster. + :vartype distribution_version: str + :ivar azure_hybrid_benefit: Indicates whether Azure Hybrid Benefit is opted in. Known values + are: "True", "False", and "NotApplicable". + :vartype azure_hybrid_benefit: str or ~azure.mgmt.hybridkubernetes.models.AzureHybridBenefit """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "object"}, + "distribution": {"key": "properties.distribution", "type": "str"}, + "distribution_version": {"key": "properties.distributionVersion", "type": "str"}, + "azure_hybrid_benefit": {"key": "properties.azureHybridBenefit", "type": "str"}, } - def __init__(self, *, tags: Optional[Dict[str, str]] = None, properties: Optional[JSON] = None, **kwargs): + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + distribution: Optional[str] = None, + distribution_version: Optional[str] = None, + azure_hybrid_benefit: Optional[Union[str, "_models.AzureHybridBenefit"]] = None, + **kwargs: Any + ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] - :keyword properties: Describes the connected cluster resource properties that can be updated - during PATCH operation. - :paramtype properties: JSON + :keyword distribution: Represents the distribution of the connected cluster. + :paramtype distribution: str + :keyword distribution_version: Represents the Kubernetes distribution version on this connected + cluster. + :paramtype distribution_version: str + :keyword azure_hybrid_benefit: Indicates whether Azure Hybrid Benefit is opted in. Known values + are: "True", "False", and "NotApplicable". + :paramtype azure_hybrid_benefit: str or ~azure.mgmt.hybridkubernetes.models.AzureHybridBenefit """ super().__init__(**kwargs) self.tags = tags - self.properties = properties + self.distribution = distribution + self.distribution_version = distribution_version + self.azure_hybrid_benefit = azure_hybrid_benefit class CredentialResult(_serialization.Model): @@ -374,7 +584,7 @@ class CredentialResult(_serialization.Model): "value": {"key": "value", "type": "bytearray"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.name = None @@ -403,7 +613,7 @@ class CredentialResults(_serialization.Model): "kubeconfigs": {"key": "kubeconfigs", "type": "[CredentialResult]"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.hybrid_connection_config = None @@ -431,7 +641,7 @@ class ErrorAdditionalInfo(_serialization.Model): "info": {"key": "info", "type": "object"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.type = None @@ -471,7 +681,7 @@ class ErrorDetail(_serialization.Model): "additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.code = None @@ -482,7 +692,8 @@ def __init__(self, **kwargs): class ErrorResponse(_serialization.Model): - """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + """Common error response for all Azure Resource Manager APIs to return error details for failed + operations. (This also follows the OData error response format.). :ivar error: The error object. :vartype error: ~azure.mgmt.hybridkubernetes.models.ErrorDetail @@ -492,7 +703,7 @@ class ErrorResponse(_serialization.Model): "error": {"key": "error", "type": "ErrorDetail"}, } - def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs): + def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None: """ :keyword error: The error object. :paramtype error: ~azure.mgmt.hybridkubernetes.models.ErrorDetail @@ -530,7 +741,7 @@ class HybridConnectionConfig(_serialization.Model): "token": {"key": "token", "type": "str"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.expiration_time = None @@ -563,8 +774,8 @@ class ListClusterUserCredentialProperties(_serialization.Model): } def __init__( - self, *, authentication_method: Union[str, "_models.AuthenticationMethod"], client_proxy: bool, **kwargs - ): + self, *, authentication_method: Union[str, "_models.AuthenticationMethod"], client_proxy: bool, **kwargs: Any + ) -> None: """ :keyword authentication_method: The mode of client authentication. Required. Known values are: "Token" and "AAD". @@ -600,7 +811,7 @@ class Operation(_serialization.Model): "display": {"key": "display", "type": "OperationDisplay"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.name = None @@ -634,8 +845,8 @@ def __init__( resource: Optional[str] = None, operation: Optional[str] = None, description: Optional[str] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword provider: Service provider: Microsoft.connectedClusters. :paramtype provider: str @@ -673,7 +884,7 @@ class OperationList(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__(self, *, next_link: Optional[str] = None, **kwargs): + def __init__(self, *, next_link: Optional[str] = None, **kwargs: Any) -> None: """ :keyword next_link: The link to fetch the next page of connected cluster API operations. :paramtype next_link: str @@ -683,6 +894,60 @@ def __init__(self, *, next_link: Optional[str] = None, **kwargs): self.next_link = next_link +class SystemComponent(_serialization.Model): + """System Extension and its desired versions to be installed on the cluster resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: Type of the system extension. + :vartype type: str + :ivar user_specified_version: Version of the system extension to be installed on the cluster + resource. + :vartype user_specified_version: str + :ivar major_version: Major Version of the system extension to be installed on the cluster + resource. + :vartype major_version: int + :ivar current_version: Version of the system extension is currently installed on the cluster + resource. + :vartype current_version: str + """ + + _validation = { + "current_version": {"readonly": True}, + } + + _attribute_map = { + "type": {"key": "type", "type": "str"}, + "user_specified_version": {"key": "userSpecifiedVersion", "type": "str"}, + "major_version": {"key": "majorVersion", "type": "int"}, + "current_version": {"key": "currentVersion", "type": "str"}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + user_specified_version: Optional[str] = None, + major_version: Optional[int] = None, + **kwargs: Any + ) -> None: + """ + :keyword type: Type of the system extension. + :paramtype type: str + :keyword user_specified_version: Version of the system extension to be installed on the cluster + resource. + :paramtype user_specified_version: str + :keyword major_version: Major Version of the system extension to be installed on the cluster + resource. + :paramtype major_version: int + """ + super().__init__(**kwargs) + self.type = type + self.user_specified_version = user_specified_version + self.major_version = major_version + self.current_version = None + + class SystemData(_serialization.Model): """Metadata pertaining to creation and last modification of the resource. @@ -720,8 +985,8 @@ def __init__( last_modified_by: Optional[str] = None, last_modified_by_type: Optional[Union[str, "_models.LastModifiedByType"]] = 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 diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/__init__.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/__init__.py index 795e9a8dbdf44..5520b186cda40 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/__init__.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/__init__.py @@ -10,7 +10,7 @@ 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__ = [ diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/_connected_cluster_operations.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/_connected_cluster_operations.py index be6b6731b0365..187b31ba85099 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/_connected_cluster_operations.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/_connected_cluster_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -30,12 +30,8 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request -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 T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -49,8 +45,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-10-01")) # type: Literal["2021-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-02-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -66,7 +62,7 @@ def build_create_request( "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "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") @@ -85,8 +81,8 @@ def build_update_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-10-01")) # type: Literal["2021-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-02-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -102,7 +98,7 @@ def build_update_request( "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "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") @@ -119,7 +115,7 @@ def build_get_request(resource_group_name: str, cluster_name: str, subscription_ _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-10-01")) # type: Literal["2021-10-01"] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -135,7 +131,7 @@ def build_get_request(resource_group_name: str, cluster_name: str, subscription_ "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "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") @@ -152,7 +148,7 @@ def build_delete_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-10-01")) # type: Literal["2021-10-01"] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -168,7 +164,7 @@ def build_delete_request( "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "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") @@ -185,8 +181,8 @@ def build_list_cluster_user_credential_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-10-01")) # type: Literal["2021-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-02-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -202,7 +198,7 @@ def build_list_cluster_user_credential_request( "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "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") @@ -219,7 +215,7 @@ def build_list_by_resource_group_request(resource_group_name: str, subscription_ _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-10-01")) # type: Literal["2021-10-01"] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -234,7 +230,7 @@ def build_list_by_resource_group_request(resource_group_name: str, subscription_ ), } - _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") @@ -249,7 +245,7 @@ def build_list_by_subscription_request(subscription_id: str, **kwargs: Any) -> H _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-10-01")) # type: Literal["2021-10-01"] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -260,7 +256,7 @@ def build_list_by_subscription_request(subscription_id: str, **kwargs: Any) -> H "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } - _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") @@ -308,16 +304,14 @@ def _create_initial( _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-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedCluster] + 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.ConnectedCluster] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(connected_cluster, (IO, bytes)): + if isinstance(connected_cluster, (IOBase, bytes)): _content = connected_cluster else: _json = self._serialize.body(connected_cluster, "ConnectedCluster") @@ -335,10 +329,11 @@ def _create_initial( 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 @@ -355,11 +350,13 @@ def _create_initial( deserialized = self._deserialize("ConnectedCluster", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + return deserialized # type: ignore - _create_initial.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + _create_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @overload def begin_create( @@ -457,8 +454,8 @@ def begin_create( :type resource_group_name: str :param cluster_name: The name of the Kubernetes cluster on which get is called. Required. :type cluster_name: str - :param connected_cluster: Parameters supplied to Create a Connected Cluster. Is either a model - type or a IO type. Required. + :param connected_cluster: Parameters supplied to Create a Connected Cluster. Is either a + ConnectedCluster type or a IO type. Required. :type connected_cluster: ~azure.mgmt.hybridkubernetes.models.ConnectedCluster or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -479,16 +476,14 @@ def begin_create( _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-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedCluster] - polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ConnectedCluster] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] + cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._create_initial( # type: ignore + raw_result = self._create_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, connected_cluster=connected_cluster, @@ -508,9 +503,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method = cast( + polling_method: PollingMethod = cast( PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) # type: PollingMethod + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -522,9 +517,11 @@ def get_long_running_output(pipeline_response): client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore - begin_create.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + begin_create.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @overload def update( @@ -604,7 +601,7 @@ def update( :param cluster_name: The name of the Kubernetes cluster on which get is called. Required. :type cluster_name: str :param connected_cluster_patch: Parameters supplied to update Connected Cluster. Is either a - model type or a IO type. Required. + ConnectedClusterPatch type or a IO type. Required. :type connected_cluster_patch: ~azure.mgmt.hybridkubernetes.models.ConnectedClusterPatch or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -625,16 +622,14 @@ def update( _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-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedCluster] + 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.ConnectedCluster] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(connected_cluster_patch, (IO, bytes)): + if isinstance(connected_cluster_patch, (IOBase, bytes)): _content = connected_cluster_patch else: _json = self._serialize.body(connected_cluster_patch, "ConnectedClusterPatch") @@ -652,10 +647,11 @@ def update( 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 @@ -672,7 +668,9 @@ def update( return deserialized - update.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + update.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @distributed_trace def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _models.ConnectedCluster: @@ -702,10 +700,8 @@ def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _mo _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedCluster] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ConnectedCluster] = kwargs.pop("cls", None) request = build_get_request( resource_group_name=resource_group_name, @@ -717,10 +713,11 @@ def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _mo 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 @@ -737,7 +734,9 @@ def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _mo return deserialized - get.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + get.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } def _delete_initial( # pylint: disable=inconsistent-return-statements self, resource_group_name: str, cluster_name: str, **kwargs: Any @@ -753,10 +752,8 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[None] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( resource_group_name=resource_group_name, @@ -768,10 +765,11 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements 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 @@ -784,7 +782,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - _delete_initial.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + _delete_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @distributed_trace def begin_delete(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> LROPoller[None]: @@ -812,13 +812,11 @@ def begin_delete(self, resource_group_name: str, cluster_name: str, **kwargs: An _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[None] - polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] + cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: raw_result = self._delete_initial( # type: ignore resource_group_name=resource_group_name, @@ -836,9 +834,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method = cast( + polling_method: PollingMethod = cast( PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) - ) # type: PollingMethod + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -850,9 +848,11 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore - begin_delete.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}"} # type: ignore + begin_delete.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}" + } @overload def list_cluster_user_credential( @@ -934,8 +934,8 @@ def list_cluster_user_credential( :type resource_group_name: str :param cluster_name: The name of the Kubernetes cluster on which get is called. Required. :type cluster_name: str - :param properties: ListClusterUserCredential properties. Is either a model type or a IO type. - Required. + :param properties: ListClusterUserCredential properties. Is either a + ListClusterUserCredentialProperties type or a IO type. Required. :type properties: ~azure.mgmt.hybridkubernetes.models.ListClusterUserCredentialProperties or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -956,16 +956,14 @@ def list_cluster_user_credential( _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-10-01"] - content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] - cls = kwargs.pop("cls", None) # type: ClsType[_models.CredentialResults] + 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.CredentialResults] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(properties, (IO, bytes)): + if isinstance(properties, (IOBase, bytes)): _content = properties else: _json = self._serialize.body(properties, "ListClusterUserCredentialProperties") @@ -983,10 +981,11 @@ def list_cluster_user_credential( 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 @@ -1003,7 +1002,9 @@ def list_cluster_user_credential( return deserialized - list_cluster_user_credential.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}/listClusterUserCredential"} # type: ignore + list_cluster_user_credential.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters/{clusterName}/listClusterUserCredential" + } @distributed_trace def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_models.ConnectedCluster"]: @@ -1022,10 +1023,8 @@ def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Ite _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedClusterList] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ConnectedClusterList] = kwargs.pop("cls", None) error_map = { 401: ClientAuthenticationError, @@ -1047,7 +1046,7 @@ def prepare_request(next_link=None): 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 @@ -1063,7 +1062,7 @@ def prepare_request(next_link=None): "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.url = self._client.format_url(request.url) request.method = "GET" return request @@ -1071,14 +1070,15 @@ def extract_data(pipeline_response): deserialized = self._deserialize("ConnectedClusterList", 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) - 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 @@ -1091,7 +1091,9 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - list_by_resource_group.metadata = {"url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters"} # type: ignore + list_by_resource_group.metadata = { + "url": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedClusters" + } @distributed_trace def list_by_subscription(self, **kwargs: Any) -> Iterable["_models.ConnectedCluster"]: @@ -1107,10 +1109,8 @@ def list_by_subscription(self, **kwargs: Any) -> Iterable["_models.ConnectedClus _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[_models.ConnectedClusterList] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ConnectedClusterList] = kwargs.pop("cls", None) error_map = { 401: ClientAuthenticationError, @@ -1131,7 +1131,7 @@ def prepare_request(next_link=None): 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 @@ -1147,7 +1147,7 @@ def prepare_request(next_link=None): "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.url = self._client.format_url(request.url) request.method = "GET" return request @@ -1155,14 +1155,15 @@ def extract_data(pipeline_response): deserialized = self._deserialize("ConnectedClusterList", 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) - 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 @@ -1175,4 +1176,6 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - list_by_subscription.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.Kubernetes/connectedClusters"} # type: ignore + list_by_subscription.metadata = { + "url": "/subscriptions/{subscriptionId}/providers/Microsoft.Kubernetes/connectedClusters" + } diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/_operations.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/_operations.py index 75a3fede395eb..019953b3d45a6 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/_operations.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes/operations/_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # 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 import urllib.parse @@ -30,10 +29,6 @@ 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 -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -45,7 +40,7 @@ def build_get_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-10-01")) # type: Literal["2021-10-01"] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -91,10 +86,8 @@ def get(self, **kwargs: Any) -> Iterable["_models.Operation"]: _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-10-01"] - cls = kwargs.pop("cls", None) # type: ClsType[_models.OperationList] + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.OperationList] = kwargs.pop("cls", None) error_map = { 401: ClientAuthenticationError, @@ -114,7 +107,7 @@ def prepare_request(next_link=None): 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 @@ -130,7 +123,7 @@ def prepare_request(next_link=None): "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.url = self._client.format_url(request.url) request.method = "GET" return request @@ -138,14 +131,15 @@ def extract_data(pipeline_response): deserialized = self._deserialize("OperationList", 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) - 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 @@ -158,4 +152,4 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - get.metadata = {"url": "/providers/Microsoft.Kubernetes/operations"} # type: ignore + get.metadata = {"url": "/providers/Microsoft.Kubernetes/operations"} diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_csp_token.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_csp_token.py new file mode 100644 index 0000000000000..6f5f640d19331 --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_csp_token.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential +from azure.mgmt.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python connected_clusters_list_cluster_credential_result_csp_token.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.list_cluster_user_credential( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + properties={"authenticationMethod": "Token", "clientProxy": True}, + ) + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPToken.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_cspaad.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_cspaad.py new file mode 100644 index 0000000000000..4f01e2455c666 --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_cspaad.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential +from azure.mgmt.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python connected_clusters_list_cluster_credential_result_cspaad.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.list_cluster_user_credential( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + properties={"authenticationMethod": "AAD", "clientProxy": True}, + ) + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/ConnectedClustersListClusterCredentialResultCSPAAD.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_hp_token.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_hp_token.py new file mode 100644 index 0000000000000..2b7cf5f571a18 --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_hp_token.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential +from azure.mgmt.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python connected_clusters_list_cluster_credential_result_hp_token.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.list_cluster_user_credential( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + properties={"authenticationMethod": "Token", "clientProxy": False}, + ) + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/ConnectedClustersListClusterCredentialResultHPToken.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_hpaad.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_hpaad.py new file mode 100644 index 0000000000000..c08ae944d9c3b --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/connected_clusters_list_cluster_credential_result_hpaad.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential +from azure.mgmt.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python connected_clusters_list_cluster_credential_result_hpaad.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.list_cluster_user_credential( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + properties={"authenticationMethod": "AAD", "clientProxy": False}, + ) + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/ConnectedClustersListClusterCredentialResultHPAAD.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_example.py new file mode 100644 index 0000000000000..fed0869893954 --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_example.py @@ -0,0 +1,52 @@ +# 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.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python create_cluster_example.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.begin_create( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + connected_cluster={ + "identity": {"type": "SystemAssigned"}, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + }, + "tags": {}, + }, + ).result() + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/CreateClusterExample.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_kind_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_kind_example.py new file mode 100644 index 0000000000000..27b02c277f5df --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_kind_example.py @@ -0,0 +1,63 @@ +# 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.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python create_cluster_kind_example.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.begin_create( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + connected_cluster={ + "identity": {"type": "SystemAssigned"}, + "kind": "ProvisionedCluster", + "location": "East US", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": ["56f988bf-86f1-41af-91ab-2d7cd011db47"], + "enableAzureRBAC": True, + "tenantID": "82f988bf-86f1-41af-91ab-2d7cd011db47", + }, + "agentPublicKeyCertificate": "", + "arcAgentProfile": { + "agentAutoUpgrade": "Enabled", + "desiredAgentVersion": "0.1.0", + "systemComponents": [{"majorVersion": 0, "type": "Strato", "userSpecifiedVersion": "0.1.1"}], + }, + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + }, + "tags": {}, + }, + ).result() + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/CreateCluster_KindExample.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_private_link_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_private_link_example.py new file mode 100644 index 0000000000000..178ed1d5f280e --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/create_cluster_private_link_example.py @@ -0,0 +1,54 @@ +# 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.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python create_cluster_private_link_example.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.begin_create( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + connected_cluster={ + "identity": {"type": "SystemAssigned"}, + "location": "East US", + "properties": { + "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO", + "azureHybridBenefit": "NotApplicable", + "distribution": "AKS", + "distributionVersion": "1.0", + "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName", + "privateLinkState": "Enabled", + }, + "tags": {}, + }, + ).result() + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/CreateClusterPrivateLinkExample.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/delete_cluster_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/delete_cluster_example.py index 3e95217dff8da..59016076afd60 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/delete_cluster_example.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/delete_cluster_example.py @@ -29,13 +29,12 @@ def main(): subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", ) - response = client.connected_cluster.begin_delete( + client.connected_cluster.begin_delete( resource_group_name="k8sc-rg", cluster_name="testCluster", ).result() - print(response) -# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/DeleteClusterExample.json +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/DeleteClusterExample.json if __name__ == "__main__": main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_cluster_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_cluster_example.py index 26a5ee3ccf147..e323cbac4bb59 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_cluster_example.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_cluster_example.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/GetClusterExample.json +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/GetClusterExample.json if __name__ == "__main__": main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_by_resource_group_example.py similarity index 90% rename from sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_example.py rename to sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_by_resource_group_example.py index 33688be960b49..632088ba5f4d2 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_example.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_by_resource_group_example.py @@ -14,7 +14,7 @@ pip install azure-identity pip install azure-mgmt-hybridkubernetes # USAGE - python get_clusters_example.py + python get_clusters_by_resource_group_example.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, @@ -36,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/GetClustersByResourceGroupExample.json +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/GetClustersByResourceGroupExample.json if __name__ == "__main__": main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_by_subscription_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_by_subscription_example.py new file mode 100644 index 0000000000000..68c37b94d00a9 --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_clusters_by_subscription_example.py @@ -0,0 +1,39 @@ +# 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.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python get_clusters_by_subscription_example.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.list_by_subscription() + for item in response: + print(item) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/GetClustersBySubscriptionExample.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_provisioned_cluster_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_provisioned_cluster_example.py new file mode 100644 index 0000000000000..5716e8acd2bf8 --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/get_provisioned_cluster_example.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential +from azure.mgmt.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python get_provisioned_cluster_example.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.get( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + ) + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/GetProvisionedClusterExample.json +if __name__ == "__main__": + main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/list_connected_cluster_operations_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/list_connected_cluster_operations_example.py index fc58779ad5427..bf82441f04a71 100644 --- a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/list_connected_cluster_operations_example.py +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/list_connected_cluster_operations_example.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/stable/2021-10-01/examples/ListConnectedClusterOperationsExample.json +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/ListConnectedClusterOperationsExample.json if __name__ == "__main__": main() diff --git a/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/update_cluster_example.py b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/update_cluster_example.py new file mode 100644 index 0000000000000..b2d8fb78aa1fe --- /dev/null +++ b/sdk/hybridkubernetes/azure-mgmt-hybridkubernetes/generated_samples/update_cluster_example.py @@ -0,0 +1,45 @@ +# 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.hybridkubernetes import ConnectedKubernetesClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-hybridkubernetes +# USAGE + python update_cluster_example.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 = ConnectedKubernetesClient( + credential=DefaultAzureCredential(), + subscription_id="1bfbb5d0-917e-4346-9026-1d3b344417f5", + ) + + response = client.connected_cluster.update( + resource_group_name="k8sc-rg", + cluster_name="testCluster", + connected_cluster_patch={ + "properties": {"azureHybridBenefit": "NotApplicable", "distribution": "AKS", "distributionVersion": "1.0"}, + "tags": {"tag1": "value1", "tag2": "value2"}, + }, + ) + print(response) + + +# x-ms-original-file: specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2024-02-01-preview/examples/UpdateClusterExample.json +if __name__ == "__main__": + main()