diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/CHANGELOG.md b/sdk/mongocluster/azure-mgmt-mongocluster/CHANGELOG.md index 3a807653e8ef..11a449b2b833 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/CHANGELOG.md +++ b/sdk/mongocluster/azure-mgmt-mongocluster/CHANGELOG.md @@ -1,5 +1,13 @@ # Release History +## 1.2.0b1 (2026-05-01) + +### Features Added + + - Model `MongoClusterProperties` added property `network_bypass_mode` + - Model `MongoClusterUpdateProperties` added property `network_bypass_mode` + - Added enum `NetworkBypassMode` + ## 1.1.0 (2025-10-15) ### Features Added diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/README.md b/sdk/mongocluster/azure-mgmt-mongocluster/README.md index 8a0d8cb11094..1d08dd39fe76 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/README.md +++ b/sdk/mongocluster/azure-mgmt-mongocluster/README.md @@ -1,7 +1,7 @@ # Microsoft Azure SDK for Python This is the Microsoft Azure Mongocluster Management Client Library. -This package has been tested with Python 3.9+. +This package has been tested with Python 3.10+. For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all). ## _Disclaimer_ @@ -12,7 +12,7 @@ _Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For ### Prerequisites -- Python 3.9+ is required to use this package. +- Python 3.10+ is required to use this package. - [Azure subscription](https://azure.microsoft.com/free/) ### Install the package diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/_metadata.json b/sdk/mongocluster/azure-mgmt-mongocluster/_metadata.json index dc3b1b2f3a46..d1d4ec36e778 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/_metadata.json +++ b/sdk/mongocluster/azure-mgmt-mongocluster/_metadata.json @@ -1,7 +1,10 @@ { - "apiVersion": "2025-09-01", - "commit": "c5601446fc65494f18157aecbcc79cebcfbab1fb", + "apiVersion": "2026-02-01-preview", + "apiVersions": { + "Microsoft.DocumentDB": "2026-02-01-preview" + }, + "commit": "b0a55df5d0486a2faa05a3c93b2b90da6cce081b", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/mongocluster/resource-manager/Microsoft.DocumentDB/MongoCluster", - "emitterVersion": "0.52.1" + "emitterVersion": "0.61.3" } \ No newline at end of file diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/apiview-properties.json b/sdk/mongocluster/azure-mgmt-mongocluster/apiview-properties.json index 2447a12f6c08..4eca59279dfa 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/apiview-properties.json +++ b/sdk/mongocluster/azure-mgmt-mongocluster/apiview-properties.json @@ -68,6 +68,7 @@ "azure.mgmt.mongocluster.models.ReplicationState": "Microsoft.DocumentDB.ReplicationState", "azure.mgmt.mongocluster.models.AuthenticationMode": "Microsoft.DocumentDB.AuthenticationMode", "azure.mgmt.mongocluster.models.KeyEncryptionKeyIdentityType": "Microsoft.DocumentDB.KeyEncryptionKeyIdentityType", + "azure.mgmt.mongocluster.models.NetworkBypassMode": "Microsoft.DocumentDB.NetworkBypassMode", "azure.mgmt.mongocluster.models.ManagedServiceIdentityType": "Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType", "azure.mgmt.mongocluster.models.CheckNameAvailabilityReason": "Azure.ResourceManager.CommonTypes.CheckNameAvailabilityReason", "azure.mgmt.mongocluster.models.PromoteOption": "Microsoft.DocumentDB.PromoteOption", diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_client.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_client.py index f3731fa6bd7d..033fb433b734 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_client.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_client.py @@ -62,8 +62,9 @@ class MongoClusterMgmtClient: # pylint: disable=too-many-instance-attributes :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Default value is "2025-09-01". - Note that overriding this default value may result in unsupported behavior. + :keyword api_version: The API version to use for this operation. Known values are + "2026-02-01-preview". Default value is "2026-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. diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_configuration.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_configuration.py index 8cc1df4654d9..738578670751 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_configuration.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_configuration.py @@ -33,8 +33,9 @@ class MongoClusterMgmtClientConfiguration: # pylint: disable=too-many-instance- :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Default value is "2025-09-01". - Note that overriding this default value may result in unsupported behavior. + :keyword api_version: The API version to use for this operation. Known values are + "2026-02-01-preview". Default value is "2026-02-01-preview". Note that overriding this default + value may result in unsupported behavior. :paramtype api_version: str """ @@ -46,7 +47,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2025-09-01") + api_version: str = kwargs.pop("api_version", "2026-02-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_patch.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_patch.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_utils/model_base.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_utils/model_base.py index 12926fa98dcf..db24930fdca9 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_utils/model_base.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_utils/model_base.py @@ -37,6 +37,7 @@ TZ_UTC = timezone.utc _T = typing.TypeVar("_T") +_NONE_TYPE = type(None) def _timedelta_as_isostr(td: timedelta) -> str: @@ -171,6 +172,21 @@ def default(self, o): # pylint: disable=too-many-return-statements r"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT" ) +_ARRAY_ENCODE_MAPPING = { + "pipeDelimited": "|", + "spaceDelimited": " ", + "commaDelimited": ",", + "newlineDelimited": "\n", +} + + +def _deserialize_array_encoded(delimit: str, attr): + if isinstance(attr, str): + if attr == "": + return [] + return attr.split(delimit) + return attr + def _deserialize_datetime(attr: typing.Union[str, datetime]) -> datetime: """Deserialize ISO-8601 formatted string into Datetime object. @@ -202,7 +218,7 @@ def _deserialize_datetime(attr: typing.Union[str, datetime]) -> datetime: test_utc = date_obj.utctimetuple() if test_utc.tm_year > 9999 or test_utc.tm_year < 1: raise OverflowError("Hit max or min date") - return date_obj + return date_obj # type: ignore[no-any-return] def _deserialize_datetime_rfc7231(attr: typing.Union[str, datetime]) -> datetime: @@ -256,7 +272,7 @@ def _deserialize_time(attr: typing.Union[str, time]) -> time: """ if isinstance(attr, time): return attr - return isodate.parse_time(attr) + return isodate.parse_time(attr) # type: ignore[no-any-return] def _deserialize_bytes(attr): @@ -315,6 +331,8 @@ def _deserialize_int_as_str(attr): def get_deserializer(annotation: typing.Any, rf: typing.Optional["_RestField"] = None): if annotation is int and rf and rf._format == "str": return _deserialize_int_as_str + if annotation is str and rf and rf._format in _ARRAY_ENCODE_MAPPING: + return functools.partial(_deserialize_array_encoded, _ARRAY_ENCODE_MAPPING[rf._format]) if rf and rf._format: return _DESERIALIZE_MAPPING_WITHFORMAT.get(rf._format) return _DESERIALIZE_MAPPING.get(annotation) # pyright: ignore @@ -353,9 +371,39 @@ def __contains__(self, key: typing.Any) -> bool: return key in self._data def __getitem__(self, key: str) -> typing.Any: + # If this key has been deserialized (for mutable types), we need to handle serialization + if hasattr(self, "_attr_to_rest_field"): + cache_attr = f"_deserialized_{key}" + if hasattr(self, cache_attr): + rf = _get_rest_field(getattr(self, "_attr_to_rest_field"), key) + if rf: + value = self._data.get(key) + if isinstance(value, (dict, list, set)): + # For mutable types, serialize and return + # But also update _data with serialized form and clear flag + # so mutations via this returned value affect _data + serialized = _serialize(value, rf._format) + # If serialized form is same type (no transformation needed), + # return _data directly so mutations work + if isinstance(serialized, type(value)) and serialized == value: + return self._data.get(key) + # Otherwise return serialized copy and clear flag + try: + object.__delattr__(self, cache_attr) + except AttributeError: + pass + # Store serialized form back + self._data[key] = serialized + return serialized return self._data.__getitem__(key) def __setitem__(self, key: str, value: typing.Any) -> None: + # Clear any cached deserialized value when setting through dictionary access + cache_attr = f"_deserialized_{key}" + try: + object.__delattr__(self, cache_attr) + except AttributeError: + pass self._data.__setitem__(key, value) def __delitem__(self, key: str) -> None: @@ -467,6 +515,8 @@ def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any: return self._data.setdefault(key, default) def __eq__(self, other: typing.Any) -> bool: + if isinstance(other, _MyMutableMapping): + return self._data == other._data try: other_model = self.__class__(other) except Exception: @@ -483,6 +533,8 @@ def _is_model(obj: typing.Any) -> bool: def _serialize(o, format: typing.Optional[str] = None): # pylint: disable=too-many-return-statements if isinstance(o, list): + if format in _ARRAY_ENCODE_MAPPING and all(isinstance(x, str) for x in o): + return _ARRAY_ENCODE_MAPPING[format].join(o) return [_serialize(x, format) for x in o] if isinstance(o, dict): return {k: _serialize(v, format) for k, v in o.items()} @@ -548,54 +600,9 @@ def __init__(self, *args: typing.Any, **kwargs: typing.Any) -> None: for rest_field in self._attr_to_rest_field.values() if rest_field._default is not _UNSET } - if args: # pylint: disable=too-many-nested-blocks + if args: if isinstance(args[0], ET.Element): - existed_attr_keys = [] - model_meta = getattr(self, "_xml", {}) - - for rf in self._attr_to_rest_field.values(): - prop_meta = getattr(rf, "_xml", {}) - xml_name = prop_meta.get("name", rf._rest_name) - xml_ns = prop_meta.get("ns", model_meta.get("ns", None)) - if xml_ns: - xml_name = "{" + xml_ns + "}" + xml_name - - # attribute - if prop_meta.get("attribute", False) and args[0].get(xml_name) is not None: - existed_attr_keys.append(xml_name) - dict_to_pass[rf._rest_name] = _deserialize(rf._type, args[0].get(xml_name)) - continue - - # unwrapped element is array - if prop_meta.get("unwrapped", False): - # unwrapped array could either use prop items meta/prop meta - if prop_meta.get("itemsName"): - xml_name = prop_meta.get("itemsName") - xml_ns = prop_meta.get("itemNs") - if xml_ns: - xml_name = "{" + xml_ns + "}" + xml_name - items = args[0].findall(xml_name) # pyright: ignore - if len(items) > 0: - existed_attr_keys.append(xml_name) - dict_to_pass[rf._rest_name] = _deserialize(rf._type, items) - continue - - # text element is primitive type - if prop_meta.get("text", False): - if args[0].text is not None: - dict_to_pass[rf._rest_name] = _deserialize(rf._type, args[0].text) - continue - - # wrapped element could be normal property or array, it should only have one element - item = args[0].find(xml_name) - if item is not None: - existed_attr_keys.append(xml_name) - dict_to_pass[rf._rest_name] = _deserialize(rf._type, item) - - # rest thing is additional properties - for e in args[0]: - if e.tag not in existed_attr_keys: - dict_to_pass[e.tag] = _convert_element(e) + dict_to_pass.update(self._init_from_xml(args[0])) else: dict_to_pass.update( {k: _create_value(_get_rest_field(self._attr_to_rest_field, k), v) for k, v in args[0].items()} @@ -614,6 +621,69 @@ def __init__(self, *args: typing.Any, **kwargs: typing.Any) -> None: ) super().__init__(dict_to_pass) + def _init_from_xml(self, element: ET.Element) -> dict[str, typing.Any]: + """Deserialize an XML element into a dict mapping rest field names to values. + + :param ET.Element element: The XML element to deserialize from. + :returns: A dictionary of rest_name to deserialized value pairs. + :rtype: dict + """ + result: dict[str, typing.Any] = {} + model_meta = getattr(self, "_xml", {}) + existed_attr_keys: list[str] = [] + + for rf in self._attr_to_rest_field.values(): + prop_meta = getattr(rf, "_xml", {}) + xml_name = prop_meta.get("name", rf._rest_name) + xml_ns = _resolve_xml_ns(prop_meta, model_meta) + if xml_ns: + xml_name = "{" + xml_ns + "}" + xml_name + + # attribute + if prop_meta.get("attribute", False) and element.get(xml_name) is not None: + existed_attr_keys.append(xml_name) + result[rf._rest_name] = _deserialize(rf._type, element.get(xml_name)) + continue + + # unwrapped element is array + if prop_meta.get("unwrapped", False): + # unwrapped array could either use prop items meta/prop meta + _items_name = prop_meta.get("itemsName") + if _items_name: + xml_name = _items_name + _items_ns = prop_meta.get("itemsNs") + if _items_ns is not None: + xml_ns = _items_ns + if xml_ns: + xml_name = "{" + xml_ns + "}" + xml_name + items = element.findall(xml_name) # pyright: ignore + if len(items) > 0: + existed_attr_keys.append(xml_name) + result[rf._rest_name] = _deserialize(rf._type, items) + elif not rf._is_optional: + existed_attr_keys.append(xml_name) + result[rf._rest_name] = [] + continue + + # text element is primitive type + if prop_meta.get("text", False): + if element.text is not None: + result[rf._rest_name] = _deserialize(rf._type, element.text) + continue + + # wrapped element could be normal property or array, it should only have one element + item = element.find(xml_name) + if item is not None: + existed_attr_keys.append(xml_name) + result[rf._rest_name] = _deserialize(rf._type, item) + + # rest thing is additional properties + for e in element: + if e.tag not in existed_attr_keys: + result[e.tag] = _convert_element(e) + + return result + def copy(self) -> "Model": return Model(self.__dict__) @@ -666,7 +736,7 @@ def _deserialize(cls, data, exist_discriminators): model_meta = getattr(cls, "_xml", {}) prop_meta = getattr(discriminator, "_xml", {}) xml_name = prop_meta.get("name", discriminator._rest_name) - xml_ns = prop_meta.get("ns", model_meta.get("ns", None)) + xml_ns = _resolve_xml_ns(prop_meta, model_meta) if xml_ns: xml_name = "{" + xml_ns + "}" + xml_name @@ -758,6 +828,14 @@ def _deserialize_multiple_sequence( return type(obj)(_deserialize(deserializer, entry, module) for entry, deserializer in zip(obj, entry_deserializers)) +def _is_array_encoded_deserializer(deserializer: functools.partial) -> bool: + return ( + isinstance(deserializer, functools.partial) + and isinstance(deserializer.args[0], functools.partial) + and deserializer.args[0].func == _deserialize_array_encoded # pylint: disable=comparison-with-callable + ) + + def _deserialize_sequence( deserializer: typing.Optional[typing.Callable], module: typing.Optional[str], @@ -767,6 +845,19 @@ def _deserialize_sequence( return obj if isinstance(obj, ET.Element): obj = list(obj) + + # encoded string may be deserialized to sequence + if isinstance(obj, str) and isinstance(deserializer, functools.partial): + # for list[str] + if _is_array_encoded_deserializer(deserializer): + return deserializer(obj) + + # for list[Union[...]] + if isinstance(deserializer.args[0], list): + for sub_deserializer in deserializer.args[0]: + if _is_array_encoded_deserializer(sub_deserializer): + return sub_deserializer(obj) + return type(obj)(_deserialize(deserializer, entry, module) for entry in obj) @@ -817,16 +908,18 @@ def _get_deserialize_callable_from_annotation( # pylint: disable=too-many-retur # is it optional? try: - if any(a for a in annotation.__args__ if a == type(None)): # pyright: ignore + if any(a is _NONE_TYPE for a in annotation.__args__): # pyright: ignore + if rf: + rf._is_optional = True if len(annotation.__args__) <= 2: # pyright: ignore if_obj_deserializer = _get_deserialize_callable_from_annotation( - next(a for a in annotation.__args__ if a != type(None)), module, rf # pyright: ignore + next(a for a in annotation.__args__ if a is not _NONE_TYPE), module, rf # pyright: ignore ) return functools.partial(_deserialize_with_optional, if_obj_deserializer) # the type is Optional[Union[...]], we need to remove the None type from the Union annotation_copy = copy.copy(annotation) - annotation_copy.__args__ = [a for a in annotation_copy.__args__ if a != type(None)] # pyright: ignore + annotation_copy.__args__ = [a for a in annotation_copy.__args__ if a is not _NONE_TYPE] # pyright: ignore return _get_deserialize_callable_from_annotation(annotation_copy, module, rf) except AttributeError: pass @@ -910,16 +1003,20 @@ def _deserialize_with_callable( return float(value.text) if value.text else None if deserializer is bool: return value.text == "true" if value.text else None + if deserializer and deserializer in _DESERIALIZE_MAPPING.values(): + return deserializer(value.text) if value.text else None + if deserializer and deserializer in _DESERIALIZE_MAPPING_WITHFORMAT.values(): + return deserializer(value.text) if value.text else None if deserializer is None: return value if deserializer in [int, float, bool]: return deserializer(value) if isinstance(deserializer, CaseInsensitiveEnumMeta): try: - return deserializer(value) + return deserializer(value.text if isinstance(value, ET.Element) else value) except ValueError: # for unknown value, return raw value - return value + return value.text if isinstance(value, ET.Element) else value if isinstance(deserializer, type) and issubclass(deserializer, Model): return deserializer._deserialize(value, []) return typing.cast(typing.Callable[[typing.Any], typing.Any], deserializer)(value) @@ -952,7 +1049,7 @@ def _failsafe_deserialize( ) -> typing.Any: try: return _deserialize(deserializer, response.json(), module, rf, format) - except DeserializationError: + except Exception: # pylint: disable=broad-except _LOGGER.warning( "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True ) @@ -965,13 +1062,14 @@ def _failsafe_deserialize_xml( ) -> typing.Any: try: return _deserialize_xml(deserializer, response.text()) - except DeserializationError: + except Exception: # pylint: disable=broad-except _LOGGER.warning( "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True ) return None +# pylint: disable=too-many-instance-attributes class _RestField: def __init__( self, @@ -991,6 +1089,7 @@ def __init__( self._is_discriminator = is_discriminator self._visibility = visibility self._is_model = False + self._is_optional = False self._default = default self._format = format self._is_multipart_file_input = is_multipart_file_input @@ -998,7 +1097,11 @@ def __init__( @property def _class_type(self) -> typing.Any: - return getattr(self._type, "args", [None])[0] + result = getattr(self._type, "args", [None])[0] + # type may be wrapped by nested functools.partial so we need to check for that + if isinstance(result, functools.partial): + return getattr(result, "args", [None])[0] + return result @property def _rest_name(self) -> str: @@ -1009,14 +1112,37 @@ def _rest_name(self) -> str: def __get__(self, obj: Model, type=None): # pylint: disable=redefined-builtin # by this point, type and rest_name will have a value bc we default # them in __new__ of the Model class - item = obj.get(self._rest_name) + # Use _data.get() directly to avoid triggering __getitem__ which clears the cache + item = obj._data.get(self._rest_name) if item is None: return item if self._is_model: return item - return _deserialize(self._type, _serialize(item, self._format), rf=self) + + # For mutable types, we want mutations to directly affect _data + # Check if we've already deserialized this value + cache_attr = f"_deserialized_{self._rest_name}" + if hasattr(obj, cache_attr): + # Return the value from _data directly (it's been deserialized in place) + return obj._data.get(self._rest_name) + + deserialized = _deserialize(self._type, _serialize(item, self._format), rf=self) + + # For mutable types, store the deserialized value back in _data + # so mutations directly affect _data + if isinstance(deserialized, (dict, list, set)): + obj._data[self._rest_name] = deserialized + object.__setattr__(obj, cache_attr, True) # Mark as deserialized + return deserialized + + return deserialized def __set__(self, obj: Model, value) -> None: + # Clear the cached deserialized object when setting a new value + cache_attr = f"_deserialized_{self._rest_name}" + if hasattr(obj, cache_attr): + object.__delattr__(obj, cache_attr) + if value is None: # we want to wipe out entries if users set attr to None try: @@ -1079,6 +1205,56 @@ def serialize_xml(model: Model, exclude_readonly: bool = False) -> str: return ET.tostring(_get_element(model, exclude_readonly), encoding="unicode") # type: ignore +def _get_xml_ns(meta: dict[str, typing.Any]) -> typing.Optional[str]: + """Return the XML namespace from a metadata dict, checking both 'ns' (old-style) and 'namespace' (DPG) keys. + + :param dict meta: The metadata dictionary to extract namespace from. + :returns: The namespace string if 'ns' or 'namespace' key is present, None otherwise. + :rtype: str or None + """ + ns = meta.get("ns") + if ns is None: + ns = meta.get("namespace") + return ns + + +def _resolve_xml_ns( + prop_meta: dict[str, typing.Any], model_meta: typing.Optional[dict[str, typing.Any]] = None +) -> typing.Optional[str]: + """Resolve XML namespace for a property, falling back to model namespace when appropriate. + + Checks the property metadata first; if no namespace is found and the model does not declare + an explicit prefix, falls back to the model-level namespace. + + :param dict prop_meta: The property metadata dictionary. + :param dict model_meta: The model metadata dictionary, used as fallback. + :returns: The resolved namespace string, or None. + :rtype: str or None + """ + ns = _get_xml_ns(prop_meta) + if ns is None and model_meta is not None and not model_meta.get("prefix"): + ns = _get_xml_ns(model_meta) + return ns + + +def _set_xml_attribute(element: ET.Element, name: str, value: typing.Any, prop_meta: dict[str, typing.Any]) -> None: + """Set an XML attribute on an element, handling namespace prefix registration. + + :param ET.Element element: The element to set the attribute on. + :param str name: The default attribute name (wire name). + :param any value: The attribute value. + :param dict prop_meta: The property metadata dictionary. + """ + xml_name = prop_meta.get("name", name) + _attr_ns = _get_xml_ns(prop_meta) + if _attr_ns: + _attr_prefix = prop_meta.get("prefix") + if _attr_prefix: + _safe_register_namespace(_attr_prefix, _attr_ns) + xml_name = "{" + _attr_ns + "}" + xml_name + element.set(xml_name, _get_primitive_type_value(value)) + + def _get_element( o: typing.Any, exclude_readonly: bool = False, @@ -1090,10 +1266,16 @@ def _get_element( # if prop is a model, then use the prop element directly, else generate a wrapper of model if wrapped_element is None: + # When serializing as an array item (parent_meta is set), check if the parent has an + # explicit itemsName. This ensures correct element names for unwrapped arrays (where + # the element tag is the property/items name, not the model type name). + _items_name = parent_meta.get("itemsName") if parent_meta is not None else None + element_name = _items_name if _items_name else (model_meta.get("name") or o.__class__.__name__) + _model_ns = _get_xml_ns(model_meta) wrapped_element = _create_xml_element( - model_meta.get("name", o.__class__.__name__), + element_name, model_meta.get("prefix"), - model_meta.get("ns"), + _model_ns, ) readonly_props = [] @@ -1115,7 +1297,9 @@ def _get_element( # additional properties will not have rest field, use the wire name as xml name prop_meta = {"name": k} - # if no ns for prop, use model's + # Propagate model namespace to properties only for old-style "ns"-keyed models. + # DPG-generated models use the "namespace" key and explicitly declare namespace on + # each property that needs it, so propagation is intentionally skipped for them. if prop_meta.get("ns") is None and model_meta.get("ns"): prop_meta["ns"] = model_meta.get("ns") prop_meta["prefix"] = model_meta.get("prefix") @@ -1127,12 +1311,7 @@ def _get_element( # text could only set on primitive type wrapped_element.text = _get_primitive_type_value(v) elif prop_meta.get("attribute", False): - xml_name = prop_meta.get("name", k) - if prop_meta.get("ns"): - ET.register_namespace(prop_meta.get("prefix"), prop_meta.get("ns")) # pyright: ignore - xml_name = "{" + prop_meta.get("ns") + "}" + xml_name # pyright: ignore - # attribute should be primitive type - wrapped_element.set(xml_name, _get_primitive_type_value(v)) + _set_xml_attribute(wrapped_element, k, v, prop_meta) else: # other wrapped prop element wrapped_element.append(_get_wrapped_element(v, exclude_readonly, prop_meta)) @@ -1141,6 +1320,7 @@ def _get_element( return [_get_element(x, exclude_readonly, parent_meta) for x in o] # type: ignore if isinstance(o, dict): result = [] + _dict_ns = _get_xml_ns(parent_meta) if parent_meta else None for k, v in o.items(): result.append( _get_wrapped_element( @@ -1148,7 +1328,7 @@ def _get_element( exclude_readonly, { "name": k, - "ns": parent_meta.get("ns") if parent_meta else None, + "ns": _dict_ns, "prefix": parent_meta.get("prefix") if parent_meta else None, }, ) @@ -1157,13 +1337,16 @@ def _get_element( # primitive case need to create element based on parent_meta if parent_meta: + _items_ns = parent_meta.get("itemsNs") + if _items_ns is None: + _items_ns = _get_xml_ns(parent_meta) return _get_wrapped_element( o, exclude_readonly, { "name": parent_meta.get("itemsName", parent_meta.get("name")), "prefix": parent_meta.get("itemsPrefix", parent_meta.get("prefix")), - "ns": parent_meta.get("itemsNs", parent_meta.get("ns")), + "ns": _items_ns, }, ) @@ -1175,8 +1358,9 @@ def _get_wrapped_element( exclude_readonly: bool, meta: typing.Optional[dict[str, typing.Any]], ) -> ET.Element: + _meta_ns = _get_xml_ns(meta) if meta else None wrapped_element = _create_xml_element( - meta.get("name") if meta else None, meta.get("prefix") if meta else None, meta.get("ns") if meta else None + meta.get("name") if meta else None, meta.get("prefix") if meta else None, _meta_ns ) if isinstance(v, (dict, list)): wrapped_element.extend(_get_element(v, exclude_readonly, meta)) @@ -1184,7 +1368,7 @@ def _get_wrapped_element( _get_element(v, exclude_readonly, meta, wrapped_element) else: wrapped_element.text = _get_primitive_type_value(v) - return wrapped_element + return wrapped_element # type: ignore[no-any-return] def _get_primitive_type_value(v) -> str: @@ -1197,9 +1381,29 @@ def _get_primitive_type_value(v) -> str: return str(v) -def _create_xml_element(tag, prefix=None, ns=None): - if prefix and ns: +def _safe_register_namespace(prefix: str, ns: str) -> None: + """Register an XML namespace prefix, handling reserved prefix patterns. + + Some prefixes (e.g. 'ns2') match Python's reserved 'ns\\d+' pattern used for + auto-generated prefixes, causing register_namespace to raise ValueError. + Falls back to directly registering in the internal namespace map. + + :param str prefix: The namespace prefix to register. + :param str ns: The namespace URI. + """ + try: ET.register_namespace(prefix, ns) + except ValueError: + _ns_map = getattr(ET, "_namespace_map", None) + if _ns_map is not None: + _ns_map[ns] = prefix + + +def _create_xml_element( + tag: typing.Any, prefix: typing.Optional[str] = None, ns: typing.Optional[str] = None +) -> ET.Element: + if prefix and ns: + _safe_register_namespace(prefix, ns) if ns: return ET.Element("{" + ns + "}" + tag) return ET.Element(tag) diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_utils/serialization.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_utils/serialization.py index 45a3e44e45cb..81ec1de5922b 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_utils/serialization.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_utils/serialization.py @@ -821,13 +821,20 @@ def serialize_basic(cls, data, data_type, **kwargs): :param str data_type: Type of object in the iterable. :rtype: str, int, float, bool :return: serialized object + :raises TypeError: raise if data_type is not one of str, int, float, bool. """ custom_serializer = cls._get_custom_serializers(data_type, **kwargs) if custom_serializer: return custom_serializer(data) if data_type == "str": return cls.serialize_unicode(data) - return eval(data_type)(data) # nosec # pylint: disable=eval-used + if data_type == "int": + return int(data) + if data_type == "float": + return float(data) + if data_type == "bool": + return bool(data) + raise TypeError("Unknown basic data type: {}".format(data_type)) @classmethod def serialize_unicode(cls, data): @@ -1757,7 +1764,7 @@ def deserialize_basic(self, attr, data_type): # pylint: disable=too-many-return :param str data_type: deserialization data type. :return: Deserialized basic type. :rtype: str, int, float or bool - :raises TypeError: if string format is not valid. + :raises TypeError: if string format is not valid or data_type is not one of str, int, float, bool. """ # If we're here, data is supposed to be a basic type. # If it's still an XML node, take the text @@ -1783,7 +1790,11 @@ def deserialize_basic(self, attr, data_type): # pylint: disable=too-many-return if data_type == "str": return self.deserialize_unicode(attr) - return eval(data_type)(attr) # nosec # pylint: disable=eval-used + if data_type == "int": + return int(attr) + if data_type == "float": + return float(attr) + raise TypeError("Unknown basic data type: {}".format(data_type)) @staticmethod def deserialize_unicode(data): diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_version.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_version.py index ed0855dea5e6..5bf479b145f7 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_version.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.1.0" +VERSION = "1.2.0b1" diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_client.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_client.py index 594641b4854c..12ad70072ed9 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_client.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_client.py @@ -62,8 +62,9 @@ class MongoClusterMgmtClient: # pylint: disable=too-many-instance-attributes :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Default value is "2025-09-01". - Note that overriding this default value may result in unsupported behavior. + :keyword api_version: The API version to use for this operation. Known values are + "2026-02-01-preview". Default value is "2026-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. diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_configuration.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_configuration.py index 0525f331ee2c..2fc26b5076cc 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_configuration.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_configuration.py @@ -33,8 +33,9 @@ class MongoClusterMgmtClientConfiguration: # pylint: disable=too-many-instance- :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: The API version to use for this operation. Default value is "2025-09-01". - Note that overriding this default value may result in unsupported behavior. + :keyword api_version: The API version to use for this operation. Known values are + "2026-02-01-preview". Default value is "2026-02-01-preview". Note that overriding this default + value may result in unsupported behavior. :paramtype api_version: str """ @@ -46,7 +47,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2025-09-01") + api_version: str = kwargs.pop("api_version", "2026-02-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_patch.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_patch.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/operations/_operations.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/operations/_operations.py index a2ab68fc2c4b..4ad25e6ba7d8 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/operations/_operations.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/operations/_operations.py @@ -148,7 +148,10 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.Operation], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.Operation], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, AsyncList(list_of_elem) @@ -164,7 +167,10 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -228,6 +234,7 @@ async def get(self, resource_group_name: str, mongo_cluster_name: str, **kwargs: } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -242,11 +249,14 @@ async def get(self, resource_group_name: str, mongo_cluster_name: str, **kwargs: except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.MongoCluster, response.json()) @@ -255,6 +265,20 @@ async def get(self, resource_group_name: str, mongo_cluster_name: str, **kwargs: return deserialized # type: ignore + @api_version_validation( + method_added_on="2026-02-01-preview", + params_added_on={ + "2026-02-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "mongo_cluster_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-02-01-preview"], + ) async def _create_or_update_initial( self, resource_group_name: str, @@ -298,6 +322,7 @@ async def _create_or_update_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -311,14 +336,17 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 201: response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -413,6 +441,20 @@ async def begin_create_or_update( """ @distributed_trace_async + @api_version_validation( + method_added_on="2026-02-01-preview", + params_added_on={ + "2026-02-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "mongo_cluster_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-02-01-preview"], + ) async def begin_create_or_update( self, resource_group_name: str, @@ -531,6 +573,7 @@ async def _update_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -544,7 +587,10 @@ async def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -552,7 +598,7 @@ async def _update_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -751,6 +797,7 @@ async def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -764,7 +811,10 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -772,7 +822,7 @@ async def _delete_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -903,7 +953,10 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.MongoCluster], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.MongoCluster], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, AsyncList(list_of_elem) @@ -919,7 +972,10 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -987,7 +1043,10 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.MongoCluster], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.MongoCluster], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, AsyncList(list_of_elem) @@ -1003,7 +1062,10 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1053,6 +1115,7 @@ async def list_connection_strings( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1067,11 +1130,14 @@ async def list_connection_strings( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.ListConnectionStringsResult, response.json()) @@ -1193,6 +1259,7 @@ async def check_name_availability( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1207,11 +1274,14 @@ async def check_name_availability( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.CheckNameAvailabilityResponse, response.json()) @@ -1239,6 +1309,7 @@ async def check_name_availability( "2025-07-01-preview", "2025-08-01-preview", "2025-09-01", + "2026-02-01-preview", ], ) async def _promote_initial( @@ -1284,6 +1355,7 @@ async def _promote_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1297,14 +1369,17 @@ async def _promote_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -1412,6 +1487,7 @@ async def begin_promote( "2025-07-01-preview", "2025-08-01-preview", "2025-09-01", + "2026-02-01-preview", ], ) async def begin_promote( @@ -1544,6 +1620,7 @@ async def get( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1558,11 +1635,14 @@ async def get( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.FirewallRule, response.json()) @@ -1616,6 +1696,7 @@ async def _create_or_update_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1629,7 +1710,10 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1637,7 +1721,7 @@ async def _create_or_update_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -1846,6 +1930,7 @@ async def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1859,7 +1944,10 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1867,7 +1955,7 @@ async def _delete_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -2006,7 +2094,10 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.FirewallRule], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.FirewallRule], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, AsyncList(list_of_elem) @@ -2022,7 +2113,10 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2118,7 +2212,10 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.PrivateEndpointConnectionResource], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.PrivateEndpointConnectionResource], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, AsyncList(list_of_elem) @@ -2134,7 +2231,10 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2187,6 +2287,7 @@ async def get( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2201,11 +2302,14 @@ async def get( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.PrivateEndpointConnectionResource, response.json()) @@ -2259,6 +2363,7 @@ async def _create_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2272,7 +2377,10 @@ async def _create_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -2280,7 +2388,7 @@ async def _create_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -2502,6 +2610,7 @@ async def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2515,7 +2624,10 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -2523,7 +2635,7 @@ async def _delete_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -2682,7 +2794,10 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.PrivateLinkResource], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.PrivateLinkResource], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, AsyncList(list_of_elem) @@ -2698,7 +2813,10 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2743,6 +2861,7 @@ def __init__(self, *args, **kwargs) -> None: "2025-07-01-preview", "2025-08-01-preview", "2025-09-01", + "2026-02-01-preview", ], ) def list_by_parent( @@ -2814,7 +2933,10 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.Replica], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.Replica], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, AsyncList(list_of_elem) @@ -2830,7 +2952,10 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2868,7 +2993,13 @@ def __init__(self, *args, **kwargs) -> None: "accept", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) async def get( self, resource_group_name: str, mongo_cluster_name: str, user_name: str, **kwargs: Any @@ -2913,6 +3044,7 @@ async def get( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2927,11 +3059,14 @@ async def get( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.User, response.json()) @@ -2953,7 +3088,13 @@ async def get( "accept", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) async def _create_or_update_initial( self, @@ -3000,6 +3141,7 @@ async def _create_or_update_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -3013,14 +3155,17 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 201: response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -3134,7 +3279,13 @@ async def begin_create_or_update( "accept", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) async def begin_create_or_update( self, @@ -3225,7 +3376,13 @@ def get_long_running_output(pipeline_response): "user_name", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) async def _delete_initial( self, resource_group_name: str, mongo_cluster_name: str, user_name: str, **kwargs: Any @@ -3257,6 +3414,7 @@ async def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -3270,7 +3428,10 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -3278,7 +3439,7 @@ async def _delete_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -3297,7 +3458,13 @@ async def _delete_initial( "user_name", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) async def begin_delete( self, resource_group_name: str, mongo_cluster_name: str, user_name: str, **kwargs: Any @@ -3372,7 +3539,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- "accept", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) def list_by_mongo_cluster( self, resource_group_name: str, mongo_cluster_name: str, **kwargs: Any @@ -3443,7 +3616,10 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.User], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.User], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, AsyncList(list_of_elem) @@ -3459,7 +3635,10 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/operations/_patch.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/operations/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/operations/_patch.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/aio/operations/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/__init__.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/__init__.py index 6ddd478d3305..9ed46f9cf2a1 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/__init__.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/__init__.py @@ -79,6 +79,7 @@ KeyEncryptionKeyIdentityType, ManagedServiceIdentityType, MongoClusterStatus, + NetworkBypassMode, Origin, PreviewFeature, PrivateEndpointConnectionProvisioningState, @@ -159,6 +160,7 @@ "KeyEncryptionKeyIdentityType", "ManagedServiceIdentityType", "MongoClusterStatus", + "NetworkBypassMode", "Origin", "PreviewFeature", "PrivateEndpointConnectionProvisioningState", diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_enums.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_enums.py index b48de0781e75..bc34050007cd 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_enums.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_enums.py @@ -145,6 +145,15 @@ class MongoClusterStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The mongo cluster resource is being dropped.""" +class NetworkBypassMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The network bypass mode for the Mongo cluster.""" + + NONE = "None" + """No network bypass is enabled.""" + AZURE_COSMOS_DB = "AzureCosmosDB" + """Allows Azure Cosmos DB service to bypass network restrictions.""" + + class Origin(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system". @@ -166,28 +175,30 @@ class PreviewFeature(str, Enum, metaclass=CaseInsensitiveEnumMeta): enable linking a geo-replica cluster to it.""" -class PrivateEndpointConnectionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): +class PrivateEndpointConnectionProvisioningState( # pylint: disable=name-too-long + str, Enum, metaclass=CaseInsensitiveEnumMeta +): """The current provisioning state.""" SUCCEEDED = "Succeeded" - """Connection has been provisioned""" + """Connection has been provisioned.""" CREATING = "Creating" - """Connection is being created""" + """Connection is being created.""" DELETING = "Deleting" - """Connection is being deleted""" + """Connection is being deleted.""" FAILED = "Failed" - """Connection provisioning has failed""" + """Connection provisioning has failed.""" class PrivateEndpointServiceConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The private endpoint connection status.""" PENDING = "Pending" - """Connection waiting for approval or rejection""" + """Connection waiting for approval or rejection.""" APPROVED = "Approved" - """Connection approved""" + """Connection approved.""" REJECTED = "Rejected" - """Connection Rejected""" + """Connection Rejected.""" class PromoteMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_models.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_models.py index c82fffde6d9b..2751a6a5196e 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_models.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_models.py @@ -941,6 +941,10 @@ class MongoClusterProperties(_Model): :ivar encryption: The encryption configuration for the cluster. Depends on identity being configured. :vartype encryption: ~azure.mgmt.mongocluster.models.EncryptionProperties + :ivar network_bypass_mode: The network bypass mode for the cluster. Setting to 'AzureCosmosDB' + allows Azure Cosmos DB service to bypass network restrictions. Known values are: "None" and + "AzureCosmosDB". + :vartype network_bypass_mode: str or ~azure.mgmt.mongocluster.models.NetworkBypassMode """ create_mode: Optional[Union[str, "_models.CreateMode"]] = rest_field( @@ -1025,6 +1029,11 @@ class MongoClusterProperties(_Model): visibility=["read", "create", "update", "delete", "query"] ) """The encryption configuration for the cluster. Depends on identity being configured.""" + network_bypass_mode: Optional[Union[str, "_models.NetworkBypassMode"]] = rest_field( + name="networkBypassMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The network bypass mode for the cluster. Setting to 'AzureCosmosDB' allows Azure Cosmos DB + service to bypass network restrictions. Known values are: \"None\" and \"AzureCosmosDB\".""" @overload def __init__( @@ -1045,6 +1054,7 @@ def __init__( preview_features: Optional[list[Union[str, "_models.PreviewFeature"]]] = None, auth_config: Optional["_models.AuthConfigProperties"] = None, encryption: Optional["_models.EncryptionProperties"] = None, + network_bypass_mode: Optional[Union[str, "_models.NetworkBypassMode"]] = None, ) -> None: ... @overload @@ -1202,6 +1212,10 @@ class MongoClusterUpdateProperties(_Model): :ivar encryption: The encryption configuration for the cluster. Depends on identity being configured. :vartype encryption: ~azure.mgmt.mongocluster.models.EncryptionProperties + :ivar network_bypass_mode: The network bypass mode for the cluster. Setting to 'AzureCosmosDB' + allows Azure Cosmos DB service to bypass network restrictions. Known values are: "None" and + "AzureCosmosDB". + :vartype network_bypass_mode: str or ~azure.mgmt.mongocluster.models.NetworkBypassMode """ administrator: Optional["_models.AdministratorProperties"] = rest_field( @@ -1253,6 +1267,11 @@ class MongoClusterUpdateProperties(_Model): visibility=["read", "create", "update", "delete", "query"] ) """The encryption configuration for the cluster. Depends on identity being configured.""" + network_bypass_mode: Optional[Union[str, "_models.NetworkBypassMode"]] = rest_field( + name="networkBypassMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The network bypass mode for the cluster. Setting to 'AzureCosmosDB' allows Azure Cosmos DB + service to bypass network restrictions. Known values are: \"None\" and \"AzureCosmosDB\".""" @overload def __init__( @@ -1270,6 +1289,7 @@ def __init__( preview_features: Optional[list[Union[str, "_models.PreviewFeature"]]] = None, auth_config: Optional["_models.AuthConfigProperties"] = None, encryption: Optional["_models.EncryptionProperties"] = None, + network_bypass_mode: Optional[Union[str, "_models.NetworkBypassMode"]] = None, ) -> None: ... @overload @@ -1341,7 +1361,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class OperationDisplay(_Model): - """Localized display information for and operation. + """Localized display information for an operation. :ivar provider: The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute". diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_patch.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_patch.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/models/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/operations/_operations.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/operations/_operations.py index e2d33daedadd..38d3903b0a26 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/operations/_operations.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/operations/_operations.py @@ -51,7 +51,7 @@ def build_operations_list_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -72,7 +72,7 @@ def build_mongo_clusters_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -101,7 +101,7 @@ def build_mongo_clusters_create_or_update_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -132,7 +132,7 @@ def build_mongo_clusters_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -161,7 +161,7 @@ def build_mongo_clusters_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}" path_format_arguments = { @@ -184,7 +184,7 @@ def build_mongo_clusters_list_by_resource_group_request( # pylint: disable=name _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -209,7 +209,7 @@ def build_mongo_clusters_list_request(subscription_id: str, **kwargs: Any) -> Ht _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -235,7 +235,7 @@ def build_mongo_clusters_list_connection_strings_request( # pylint: disable=nam _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -264,7 +264,7 @@ def build_mongo_clusters_check_name_availability_request( # pylint: disable=nam _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -294,7 +294,7 @@ def build_mongo_clusters_promote_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/promote" path_format_arguments = { @@ -321,7 +321,7 @@ def build_firewall_rules_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -351,7 +351,7 @@ def build_firewall_rules_create_or_update_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -381,7 +381,7 @@ def build_firewall_rules_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}" path_format_arguments = { @@ -405,7 +405,7 @@ def build_firewall_rules_list_by_mongo_cluster_request( # pylint: disable=name- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -433,7 +433,7 @@ def build_private_endpoint_connections_list_by_mongo_cluster_request( # pylint: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -465,7 +465,7 @@ def build_private_endpoint_connections_get_request( # pylint: disable=name-too- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -501,7 +501,7 @@ def build_private_endpoint_connections_create_request( # pylint: disable=name-t _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -537,7 +537,7 @@ def build_private_endpoint_connections_delete_request( # pylint: disable=name-t ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}" path_format_arguments = { @@ -563,7 +563,7 @@ def build_private_links_list_by_mongo_cluster_request( # pylint: disable=name-t _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -591,7 +591,7 @@ def build_replicas_list_by_parent_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -619,7 +619,7 @@ def build_users_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -649,7 +649,7 @@ def build_users_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -679,7 +679,7 @@ def build_users_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/users/{userName}" path_format_arguments = { @@ -703,7 +703,7 @@ def build_users_list_by_mongo_cluster_request( # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -802,7 +802,10 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.Operation], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.Operation], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, iter(list_of_elem) @@ -818,7 +821,10 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -882,6 +888,7 @@ def get(self, resource_group_name: str, mongo_cluster_name: str, **kwargs: Any) } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -896,11 +903,14 @@ def get(self, resource_group_name: str, mongo_cluster_name: str, **kwargs: Any) except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.MongoCluster, response.json()) @@ -909,6 +919,20 @@ def get(self, resource_group_name: str, mongo_cluster_name: str, **kwargs: Any) return deserialized # type: ignore + @api_version_validation( + method_added_on="2026-02-01-preview", + params_added_on={ + "2026-02-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "mongo_cluster_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-02-01-preview"], + ) def _create_or_update_initial( self, resource_group_name: str, @@ -952,6 +976,7 @@ def _create_or_update_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -965,14 +990,17 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 201: response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -1067,6 +1095,20 @@ def begin_create_or_update( """ @distributed_trace + @api_version_validation( + method_added_on="2026-02-01-preview", + params_added_on={ + "2026-02-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "mongo_cluster_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-02-01-preview"], + ) def begin_create_or_update( self, resource_group_name: str, @@ -1185,6 +1227,7 @@ def _update_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1198,7 +1241,10 @@ def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1206,7 +1252,7 @@ def _update_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -1403,6 +1449,7 @@ def _delete_initial(self, resource_group_name: str, mongo_cluster_name: str, **k } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1416,7 +1463,10 @@ def _delete_initial(self, resource_group_name: str, mongo_cluster_name: str, **k except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1424,7 +1474,7 @@ def _delete_initial(self, resource_group_name: str, mongo_cluster_name: str, **k response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -1553,7 +1603,10 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.MongoCluster], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.MongoCluster], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, iter(list_of_elem) @@ -1569,7 +1622,10 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1637,7 +1693,10 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.MongoCluster], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.MongoCluster], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, iter(list_of_elem) @@ -1653,7 +1712,10 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1703,6 +1765,7 @@ def list_connection_strings( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1717,11 +1780,14 @@ def list_connection_strings( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.ListConnectionStringsResult, response.json()) @@ -1843,6 +1909,7 @@ def check_name_availability( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1857,11 +1924,14 @@ def check_name_availability( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.CheckNameAvailabilityResponse, response.json()) @@ -1889,6 +1959,7 @@ def check_name_availability( "2025-07-01-preview", "2025-08-01-preview", "2025-09-01", + "2026-02-01-preview", ], ) def _promote_initial( @@ -1934,6 +2005,7 @@ def _promote_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -1947,14 +2019,17 @@ def _promote_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -2062,6 +2137,7 @@ def begin_promote( "2025-07-01-preview", "2025-08-01-preview", "2025-09-01", + "2026-02-01-preview", ], ) def begin_promote( @@ -2194,6 +2270,7 @@ def get( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2208,11 +2285,14 @@ def get( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.FirewallRule, response.json()) @@ -2266,6 +2346,7 @@ def _create_or_update_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2279,7 +2360,10 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -2287,7 +2371,7 @@ def _create_or_update_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -2496,6 +2580,7 @@ def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2509,7 +2594,10 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -2517,7 +2605,7 @@ def _delete_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -2656,7 +2744,10 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.FirewallRule], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.FirewallRule], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, iter(list_of_elem) @@ -2672,7 +2763,10 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2768,7 +2862,10 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.PrivateEndpointConnectionResource], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.PrivateEndpointConnectionResource], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, iter(list_of_elem) @@ -2784,7 +2881,10 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2837,6 +2937,7 @@ def get( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2851,11 +2952,14 @@ def get( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.PrivateEndpointConnectionResource, response.json()) @@ -2909,6 +3013,7 @@ def _create_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -2922,7 +3027,10 @@ def _create_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -2930,7 +3038,7 @@ def _create_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -3152,6 +3260,7 @@ def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -3165,7 +3274,10 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -3173,7 +3285,7 @@ def _delete_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -3331,7 +3443,10 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.PrivateLinkResource], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.PrivateLinkResource], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, iter(list_of_elem) @@ -3347,7 +3462,10 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -3392,6 +3510,7 @@ def __init__(self, *args, **kwargs) -> None: "2025-07-01-preview", "2025-08-01-preview", "2025-09-01", + "2026-02-01-preview", ], ) def list_by_parent( @@ -3463,7 +3582,10 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.Replica], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.Replica], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, iter(list_of_elem) @@ -3479,7 +3601,10 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -3517,7 +3642,13 @@ def __init__(self, *args, **kwargs) -> None: "accept", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) def get(self, resource_group_name: str, mongo_cluster_name: str, user_name: str, **kwargs: Any) -> _models.User: """Gets the defintion of a Mongo cluster user. @@ -3560,6 +3691,7 @@ def get(self, resource_group_name: str, mongo_cluster_name: str, user_name: str, } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = kwargs.pop("stream", False) pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -3574,11 +3706,14 @@ def get(self, resource_group_name: str, mongo_cluster_name: str, user_name: str, except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if _stream: - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: deserialized = _deserialize(_models.User, response.json()) @@ -3600,7 +3735,13 @@ def get(self, resource_group_name: str, mongo_cluster_name: str, user_name: str, "accept", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) def _create_or_update_initial( self, @@ -3647,6 +3788,7 @@ def _create_or_update_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -3660,14 +3802,17 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 201: response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -3778,7 +3923,13 @@ def begin_create_or_update( "accept", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) def begin_create_or_update( self, @@ -3868,7 +4019,13 @@ def get_long_running_output(pipeline_response): "user_name", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) def _delete_initial( self, resource_group_name: str, mongo_cluster_name: str, user_name: str, **kwargs: Any @@ -3900,6 +4057,7 @@ def _delete_initial( } _request.url = self._client.format_url(_request.url, **path_format_arguments) + _decompress = kwargs.pop("decompress", True) _stream = True pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access _request, stream=_stream, **kwargs @@ -3913,7 +4071,10 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -3921,7 +4082,7 @@ def _delete_initial( response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - deserialized = response.iter_bytes() + deserialized = response.iter_bytes() if _decompress else response.iter_raw() if cls: return cls(pipeline_response, deserialized, response_headers) # type: ignore @@ -3940,7 +4101,13 @@ def _delete_initial( "user_name", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) def begin_delete( self, resource_group_name: str, mongo_cluster_name: str, user_name: str, **kwargs: Any @@ -4015,7 +4182,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- "accept", ] }, - api_versions_list=["2025-04-01-preview", "2025-07-01-preview", "2025-08-01-preview", "2025-09-01"], + api_versions_list=[ + "2025-04-01-preview", + "2025-07-01-preview", + "2025-08-01-preview", + "2025-09-01", + "2026-02-01-preview", + ], ) def list_by_mongo_cluster( self, resource_group_name: str, mongo_cluster_name: str, **kwargs: Any @@ -4086,7 +4259,10 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize(List[_models.User], deserialized.get("value", [])) + list_of_elem = _deserialize( + List[_models.User], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore return deserialized.get("nextLink") or None, iter(list_of_elem) @@ -4102,7 +4278,10 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = _failsafe_deserialize(_models.ErrorResponse, response) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/operations/_patch.py b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/operations/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/operations/_patch.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster/operations/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create.py index 12fc92e7924a..7fe6ad757d36 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create.py @@ -36,7 +36,7 @@ def main(): resource={ "location": "westus2", "properties": { - "administrator": {"password": "password", "userName": "mongoAdmin"}, + "administrator": {"password": "********", "userName": "mongoAdmin"}, "authConfig": {"allowedModes": ["NativeAuth"]}, "compute": {"tier": "M30"}, "highAvailability": {"targetMode": "ZoneRedundantPreferred"}, @@ -49,6 +49,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_Create.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_Create.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_cmk.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_cmk.py index f540eb48d189..75fd33f5830e 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_cmk.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_cmk.py @@ -43,7 +43,7 @@ def main(): }, "location": "westus2", "properties": { - "administrator": {"password": "password", "userName": "mongoAdmin"}, + "administrator": {"password": "********", "userName": "mongoAdmin"}, "compute": {"tier": "M30"}, "encryption": { "customerManagedKeyEncryption": { @@ -63,6 +63,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_Create_CMK.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_Create_CMK.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_geo_replica.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_geo_replica.py index 2f945197a6da..fd2cc5a31944 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_geo_replica.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_geo_replica.py @@ -42,12 +42,13 @@ def main(): "sourceLocation": "eastus", "sourceResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/mySourceMongoCluster", }, + "storage": {"type": "PremiumSSDv2"}, }, }, ).result() print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_CreateGeoReplica.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_CreateGeoReplica.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_geo_replica_cmk.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_geo_replica_cmk.py index 3e42c5320d78..034f6cdf1c1a 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_geo_replica_cmk.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_geo_replica_cmk.py @@ -63,6 +63,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_CreateGeoReplica_CMK.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_CreateGeoReplica_CMK.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr.py index daec9240b375..ab40175a7a0e 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr.py @@ -37,7 +37,7 @@ def main(): resource={ "location": "westus2", "properties": { - "administrator": {"password": "password", "userName": "mongoAdmin"}, + "administrator": {"password": "********", "userName": "mongoAdmin"}, "createMode": "PointInTimeRestore", "restoreParameters": { "pointInTimeUTC": "2023-01-13T20:07:35Z", @@ -49,6 +49,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_CreatePITR.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_CreatePITR.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr_cmk.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr_cmk.py index 34d7552bd038..f3ebcddd6f9c 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr_cmk.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr_cmk.py @@ -63,6 +63,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_CreatePITR_CMK.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_CreatePITR_CMK.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr_entra_auth.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr_entra_auth.py index a0a2a2d122e5..bfa86f64cc7e 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr_entra_auth.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_pitr_entra_auth.py @@ -49,6 +49,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_CreatePITR_EntraAuth.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_CreatePITR_EntraAuth.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_ssdv2.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_ssdv2.py index 0d20f74de535..297c9fcede39 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_ssdv2.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_create_ssdv2.py @@ -36,7 +36,7 @@ def main(): resource={ "location": "westus2", "properties": { - "administrator": {"password": "password", "userName": "mongoAdmin"}, + "administrator": {"password": "********", "userName": "mongoAdmin"}, "authConfig": {"allowedModes": ["NativeAuth"]}, "compute": {"tier": "M30"}, "highAvailability": {"targetMode": "ZoneRedundantPreferred"}, @@ -49,6 +49,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_Create_SSDv2.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_Create_SSDv2.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_delete.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_delete.py index 3fd98f39c2b4..1bac6e1c1b82 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_delete.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_delete.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2025-09-01/MongoClusters_Delete.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_Delete.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_create.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_create.py index 74bb84586694..ad11f4724973 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_create.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_create.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_FirewallRuleCreate.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_FirewallRuleCreate.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_delete.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_delete.py index 3ed58bfcbb45..ca2910c5fe80 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_delete.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2025-09-01/MongoClusters_FirewallRuleDelete.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_FirewallRuleDelete.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_get.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_get.py index 8836bb7f4b44..deb9725e3c91 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_get.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_FirewallRuleGet.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_FirewallRuleGet.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_list.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_list.py index 0f86a04800ad..ea5627fbe8f4 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_list.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_firewall_rule_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/MongoClusters_FirewallRuleList.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_FirewallRuleList.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_force_promote_replica.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_force_promote_replica.py index 031d9cbec3ea..6655e694a3de 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_force_promote_replica.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_force_promote_replica.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2025-09-01/MongoClusters_ForcePromoteReplica.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_ForcePromoteReplica.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_get.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_get.py index 0414df9c51b1..448b0b0a76c2 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_get.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_Get.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_Get.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list.py index 90c974b62561..53996fa8ed3b 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/MongoClusters_List.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_List.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list_by_resource_group.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list_by_resource_group.py index 504b8f29c059..3f5e00283403 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list_by_resource_group.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/MongoClusters_ListByResourceGroup.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list_connection_strings.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list_connection_strings.py index ebbda32937f2..624ccc2a79f4 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list_connection_strings.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_list_connection_strings.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_ListConnectionStrings.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_ListConnectionStrings.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_name_availability.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_name_availability.py index f9408353c085..a35a87516fbc 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_name_availability.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_name_availability.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_NameAvailability.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_NameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_name_availability_already_exists.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_name_availability_already_exists.py index c15198172e3a..02b408394a98 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_name_availability_already_exists.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_name_availability_already_exists.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_NameAvailability_AlreadyExists.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_NameAvailability_AlreadyExists.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_cmk.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_cmk.py index 515120db2477..13bb68db5a8b 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_cmk.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_cmk.py @@ -57,6 +57,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PatchCMK.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PatchCMK.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_data_api.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_data_api.py index 6cdc711ccd1a..d78d87d26a42 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_data_api.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_data_api.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PatchDataApi.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PatchDataApi.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_disable_native_auth.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_disable_native_auth.py index de67a82cac6f..1cf54d2a27f2 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_disable_native_auth.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_disable_native_auth.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PatchDisableNativeAuth.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PatchDisableNativeAuth.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_disk_size.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_disk_size.py index fa54f3ead062..e686571b37ad 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_disk_size.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_disk_size.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PatchDiskSize.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PatchDiskSize.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_enable_entra_id_auth.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_enable_entra_id_auth.py index c3913b46a60a..97ca34c0788f 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_enable_entra_id_auth.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_enable_entra_id_auth.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PatchEnableEntraIDAuth.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PatchEnableEntraIDAuth.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_network_bypass_mode.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_network_bypass_mode.py new file mode 100644 index 000000000000..47bafe6478f5 --- /dev/null +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_network_bypass_mode.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.mongocluster import MongoClusterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-mongocluster +# USAGE + python mongo_clusters_patch_network_bypass_mode.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 = MongoClusterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.mongo_clusters.begin_update( + resource_group_name="TestResourceGroup", + mongo_cluster_name="myMongoCluster", + properties={"properties": {"networkBypassMode": "AzureCosmosDB"}}, + ).result() + print(response) + + +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PatchNetworkBypassMode.json +if __name__ == "__main__": + main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_private_network_access.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_private_network_access.py index d41682c93275..895c2b1ad052 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_private_network_access.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_private_network_access.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PatchPrivateNetworkAccess.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PatchPrivateNetworkAccess.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_ss_dv2.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_ss_dv2.py index 50219aa216c4..b7ea51c75a6c 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_ss_dv2.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_patch_ss_dv2.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PatchSSDv2.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PatchSSDv2.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_delete.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_delete.py index eac7d8f842e9..a6a800a7b3d7 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_delete.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2025-09-01/MongoClusters_PrivateEndpointConnectionDelete.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PrivateEndpointConnectionDelete.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_get.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_get.py index 576b76c4f616..204b33e8394a 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_get.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PrivateEndpointConnectionGet.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PrivateEndpointConnectionGet.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_list.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_list.py index a632098abed5..793e35b1bcae 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_list.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/MongoClusters_PrivateEndpointConnectionList.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PrivateEndpointConnectionList.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_put.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_put.py index 17ba55550cdd..032fda9dcd2d 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_put.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_endpoint_connection_put.py @@ -41,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_PrivateEndpointConnectionPut.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PrivateEndpointConnectionPut.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_link_resource_list.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_link_resource_list.py index a948fce8c439..c7b98c325a35 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_link_resource_list.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_private_link_resource_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/MongoClusters_PrivateLinkResourceList.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_PrivateLinkResourceList.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_replica_list.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_replica_list.py index f05b01f617fb..4398a5442a4c 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_replica_list.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_replica_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/MongoClusters_ReplicaList.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_ReplicaList.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_reset_password.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_reset_password.py index a742b79c37e8..5c7976c1aa0a 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_reset_password.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_reset_password.py @@ -33,11 +33,11 @@ def main(): response = client.mongo_clusters.begin_update( resource_group_name="TestResourceGroup", mongo_cluster_name="myMongoCluster", - properties={"properties": {"administrator": {"password": "password", "userName": "mongoAdmin"}}}, + properties={"properties": {"administrator": {"password": "********", "userName": "mongoAdmin"}}}, ).result() print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_ResetPassword.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_ResetPassword.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_update.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_update.py index b8384a72e4b5..b6ca0807f578 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_update.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_update.py @@ -51,6 +51,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_Update.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_Update.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_create_or_update.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_create_or_update.py index 98cbba552530..68b1d19ddaa7 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_create_or_update.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_create_or_update.py @@ -44,6 +44,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_UserCreateOrUpdate.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_UserCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_delete.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_delete.py index 01d8e88daa7b..4bb4871c466c 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_delete.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_delete.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2025-09-01/MongoClusters_UserDelete.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_UserDelete.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_get.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_get.py index 859c999c4c22..49fbfeb0412f 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_get.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/MongoClusters_UserGet.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_UserGet.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_list.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_list.py index eef35f849151..7358a8551601 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_list.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/mongo_clusters_user_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/MongoClusters_UserList.json +# x-ms-original-file: 2026-02-01-preview/MongoClusters_UserList.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/operations_list.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/operations_list.py index 38b067239f50..0f5fe5e79cb8 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/operations_list.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_samples/operations_list.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Operations_List.json +# x-ms-original-file: 2026-02-01-preview/Operations_List.json if __name__ == "__main__": main() diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_tests/test_mongo_cluster_mgmt_mongo_clusters_operations.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_tests/test_mongo_cluster_mgmt_mongo_clusters_operations.py index b26280611cc1..98fb383aa517 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_tests/test_mongo_cluster_mgmt_mongo_clusters_operations.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_tests/test_mongo_cluster_mgmt_mongo_clusters_operations.py @@ -65,6 +65,7 @@ def test_mongo_clusters_begin_create_or_update(self, resource_group): }, "highAvailability": {"targetMode": "str"}, "infrastructureVersion": "str", + "networkBypassMode": "str", "previewFeatures": ["str"], "privateEndpointConnections": [ { @@ -145,6 +146,7 @@ def test_mongo_clusters_begin_update(self, resource_group): } }, "highAvailability": {"targetMode": "str"}, + "networkBypassMode": "str", "previewFeatures": ["str"], "publicNetworkAccess": "str", "serverVersion": "str", diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/generated_tests/test_mongo_cluster_mgmt_mongo_clusters_operations_async.py b/sdk/mongocluster/azure-mgmt-mongocluster/generated_tests/test_mongo_cluster_mgmt_mongo_clusters_operations_async.py index 40ac9daf9383..dd442ec40c1f 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/generated_tests/test_mongo_cluster_mgmt_mongo_clusters_operations_async.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/generated_tests/test_mongo_cluster_mgmt_mongo_clusters_operations_async.py @@ -67,6 +67,7 @@ async def test_mongo_clusters_begin_create_or_update(self, resource_group): }, "highAvailability": {"targetMode": "str"}, "infrastructureVersion": "str", + "networkBypassMode": "str", "previewFeatures": ["str"], "privateEndpointConnections": [ { @@ -149,6 +150,7 @@ async def test_mongo_clusters_begin_update(self, resource_group): } }, "highAvailability": {"targetMode": "str"}, + "networkBypassMode": "str", "previewFeatures": ["str"], "publicNetworkAccess": "str", "serverVersion": "str", diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/pyproject.toml b/sdk/mongocluster/azure-mgmt-mongocluster/pyproject.toml index 7d34e04c6865..3ddfafbe56e6 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/pyproject.toml +++ b/sdk/mongocluster/azure-mgmt-mongocluster/pyproject.toml @@ -13,7 +13,7 @@ authors = [ description = "Microsoft Azure Mongocluster Management Client Library for Python" license = "MIT" classifiers = [ - "Development Status :: 5 - Production/Stable", + "Development Status :: 4 - Beta", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3", @@ -79,7 +79,7 @@ package_name = "azure-mgmt-mongocluster" package_nspkg = "azure-mgmt-nspkg" package_pprint_name = "Mongocluster Management" package_doc_id = "" -is_stable = true +is_stable = false is_arm = true need_msrestazure = false need_azuremgmtcore = true diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_mongo_clusters_operations_async_test.py b/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_mongo_clusters_operations_async_test.py index 54385d33e30c..a9996d8b80c0 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_mongo_clusters_operations_async_test.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_mongo_clusters_operations_async_test.py @@ -26,4 +26,11 @@ async def test_mongo_clusters_list_by_resource_group(self, resource_group): resource_group_name=resource_group.name, ) result = [r async for r in response] - assert result == [] + assert len(result) == 0 + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_mongo_clusters_list(self, resource_group): + response = self.client.mongo_clusters.list() + result = [r async for r in response] + assert len(result) == 0 diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_mongo_clusters_operations_test.py b/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_mongo_clusters_operations_test.py index daf0de490908..5575bcb0c814 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_mongo_clusters_operations_test.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_mongo_clusters_operations_test.py @@ -25,4 +25,11 @@ def test_mongo_clusters_list_by_resource_group(self, resource_group): resource_group_name=resource_group.name, ) result = [r for r in response] - assert result == [] + assert len(result) == 0 + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_mongo_clusters_list(self, resource_group): + response = self.client.mongo_clusters.list() + result = [r for r in response] + assert len(result) == 0 diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_operations_async_test.py b/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_operations_async_test.py index b3f84df306ce..5ed331549c6b 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_operations_async_test.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_operations_async_test.py @@ -24,4 +24,4 @@ def setup_method(self, method): async def test_operations_list(self, resource_group): response = self.client.operations.list() result = [r async for r in response] - assert result + assert len(result) diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_operations_test.py b/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_operations_test.py index 07be16fffa7d..ac645e2216dd 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_operations_test.py +++ b/sdk/mongocluster/azure-mgmt-mongocluster/tests/test_mongo_cluster_mgmt_operations_test.py @@ -23,4 +23,4 @@ def setup_method(self, method): def test_operations_list(self, resource_group): response = self.client.operations.list() result = [r for r in response] - assert result + assert len(result) diff --git a/sdk/mongocluster/azure-mgmt-mongocluster/tsp-location.yaml b/sdk/mongocluster/azure-mgmt-mongocluster/tsp-location.yaml index 58c18de289ee..fa3cbd3b58fa 100644 --- a/sdk/mongocluster/azure-mgmt-mongocluster/tsp-location.yaml +++ b/sdk/mongocluster/azure-mgmt-mongocluster/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/mongocluster/resource-manager/Microsoft.DocumentDB/MongoCluster -commit: c5601446fc65494f18157aecbcc79cebcfbab1fb +commit: b0a55df5d0486a2faa05a3c93b2b90da6cce081b repo: Azure/azure-rest-api-specs additionalDirectories: