diff --git a/services/redis/oas_commit b/services/redis/oas_commit index e3713dde3..72dcff29c 100644 --- a/services/redis/oas_commit +++ b/services/redis/oas_commit @@ -1 +1 @@ -0e64886dd0847341800d7191ed193b75413be998 +0867dbbb09a8032415dc6debe18bc392bd58ba42 diff --git a/services/redis/src/stackit/redis/api/default_api.py b/services/redis/src/stackit/redis/api/default_api.py index 4eb2e3387..e03da7a98 100644 --- a/services/redis/src/stackit/redis/api/default_api.py +++ b/services/redis/src/stackit/redis/api/default_api.py @@ -1332,7 +1332,7 @@ def download_backup( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: + ) -> bytes: """download backup @@ -1375,7 +1375,7 @@ def download_backup( ) _response_types_map: Dict[str, Optional[str]] = { - "200": "bytearray", + "200": "bytes", "500": "Error", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1400,7 +1400,7 @@ def download_backup_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: + ) -> ApiResponse[bytes]: """download backup @@ -1443,7 +1443,7 @@ def download_backup_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - "200": "bytearray", + "200": "bytes", "500": "Error", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1511,7 +1511,7 @@ def download_backup_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - "200": "bytearray", + "200": "bytes", "500": "Error", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) diff --git a/services/redis/src/stackit/redis/api_client.py b/services/redis/src/stackit/redis/api_client.py index f06ee0eb1..d7f28bfd6 100644 --- a/services/redis/src/stackit/redis/api_client.py +++ b/services/redis/src/stackit/redis/api_client.py @@ -66,6 +66,7 @@ class ApiClient: "date": datetime.date, "datetime": datetime.datetime, "decimal": decimal.Decimal, + "UUID": uuid.UUID, "object": object, } _pool = None @@ -265,7 +266,7 @@ def response_deserialize( response_text = None return_data = None try: - if response_type == "bytearray": + if response_type in ("bytearray", "bytes"): return_data = response_data.data elif response_type == "file": return_data = self.__deserialize_file(response_data) @@ -326,25 +327,20 @@ def sanitize_for_serialization(self, obj): return obj.isoformat() elif isinstance(obj, decimal.Decimal): return str(obj) - elif isinstance(obj, dict): - obj_dict = obj + return {key: self.sanitize_for_serialization(val) for key, val in obj.items()} + + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): + obj_dict = obj.to_dict() else: - # Convert model obj to dict except - # attributes `openapi_types`, `attribute_map` - # and attributes which value is not None. - # Convert attribute name to json key in - # model definition for request. - if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): # noqa: B009 - obj_dict = obj.to_dict() - else: - obj_dict = obj.__dict__ - - if isinstance(obj_dict, list): - # here we handle instances that can either be a list or something else, and only became a real list by calling to_dict() # noqa: E501 - return self.sanitize_for_serialization(obj_dict) + obj_dict = obj.__dict__ - return {key: self.sanitize_for_serialization(val) for key, val in obj_dict.items()} + return self.sanitize_for_serialization(obj_dict) def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): """Deserializes response into an object. @@ -417,6 +413,8 @@ def __deserialize(self, data, klass): return self.__deserialize_datetime(data) elif klass is decimal.Decimal: return decimal.Decimal(data) + elif klass is uuid.UUID: + return uuid.UUID(data) elif issubclass(klass, Enum): return self.__deserialize_enum(data, klass) else: diff --git a/services/redis/src/stackit/redis/models/backup.py b/services/redis/src/stackit/redis/models/backup.py index cb5dec453..3d7c08dd5 100644 --- a/services/redis/src/stackit/redis/models/backup.py +++ b/services/redis/src/stackit/redis/models/backup.py @@ -24,6 +24,7 @@ StrictInt, StrictStr, ) +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -41,7 +42,8 @@ class Backup(BaseModel): __properties: ClassVar[List[str]] = ["downloadable", "finished_at", "id", "size", "status", "triggered_at"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/create_backup_response_item.py b/services/redis/src/stackit/redis/models/create_backup_response_item.py index 8445a5ff7..b34c88411 100644 --- a/services/redis/src/stackit/redis/models/create_backup_response_item.py +++ b/services/redis/src/stackit/redis/models/create_backup_response_item.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -31,7 +32,8 @@ class CreateBackupResponseItem(BaseModel): __properties: ClassVar[List[str]] = ["id", "message"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -42,8 +44,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/create_instance_payload.py b/services/redis/src/stackit/redis/models/create_instance_payload.py index 86bd7d31e..e771d20a0 100644 --- a/services/redis/src/stackit/redis/models/create_instance_payload.py +++ b/services/redis/src/stackit/redis/models/create_instance_payload.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.instance_parameters import InstanceParameters @@ -34,7 +35,8 @@ class CreateInstancePayload(BaseModel): __properties: ClassVar[List[str]] = ["instanceName", "parameters", "planId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/create_instance_response.py b/services/redis/src/stackit/redis/models/create_instance_response.py index ce53731d6..8a6db2b68 100644 --- a/services/redis/src/stackit/redis/models/create_instance_response.py +++ b/services/redis/src/stackit/redis/models/create_instance_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -30,7 +31,8 @@ class CreateInstanceResponse(BaseModel): __properties: ClassVar[List[str]] = ["instanceId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -41,8 +43,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/credentials.py b/services/redis/src/stackit/redis/models/credentials.py index 1bf1d8e6f..5c426b20e 100644 --- a/services/redis/src/stackit/redis/models/credentials.py +++ b/services/redis/src/stackit/redis/models/credentials.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -36,7 +37,8 @@ class Credentials(BaseModel): __properties: ClassVar[List[str]] = ["host", "hosts", "load_balanced_host", "password", "port", "uri", "username"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/credentials_list_item.py b/services/redis/src/stackit/redis/models/credentials_list_item.py index 2fb40133f..4fb6503b1 100644 --- a/services/redis/src/stackit/redis/models/credentials_list_item.py +++ b/services/redis/src/stackit/redis/models/credentials_list_item.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -30,7 +31,8 @@ class CredentialsListItem(BaseModel): __properties: ClassVar[List[str]] = ["id"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -41,8 +43,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/credentials_response.py b/services/redis/src/stackit/redis/models/credentials_response.py index 9ba217679..ef66370ba 100644 --- a/services/redis/src/stackit/redis/models/credentials_response.py +++ b/services/redis/src/stackit/redis/models/credentials_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.raw_credentials import RawCredentials @@ -34,7 +35,8 @@ class CredentialsResponse(BaseModel): __properties: ClassVar[List[str]] = ["id", "raw", "uri"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/error.py b/services/redis/src/stackit/redis/models/error.py index be31830a4..3b50194a5 100644 --- a/services/redis/src/stackit/redis/models/error.py +++ b/services/redis/src/stackit/redis/models/error.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -31,7 +32,8 @@ class Error(BaseModel): __properties: ClassVar[List[str]] = ["description", "error"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -42,8 +44,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/get_metrics_response.py b/services/redis/src/stackit/redis/models/get_metrics_response.py index 8bce2eb22..f09637bee 100644 --- a/services/redis/src/stackit/redis/models/get_metrics_response.py +++ b/services/redis/src/stackit/redis/models/get_metrics_response.py @@ -25,6 +25,7 @@ StrictFloat, StrictInt, ) +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -83,7 +84,8 @@ class GetMetricsResponse(BaseModel): ] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -94,8 +96,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/instance.py b/services/redis/src/stackit/redis/models/instance.py index 8fb05296d..e469d6987 100644 --- a/services/redis/src/stackit/redis/models/instance.py +++ b/services/redis/src/stackit/redis/models/instance.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.instance_last_operation import InstanceLastOperation @@ -72,7 +73,8 @@ def status_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -83,8 +85,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/instance_last_operation.py b/services/redis/src/stackit/redis/models/instance_last_operation.py index d07f71ec4..ebe574941 100644 --- a/services/redis/src/stackit/redis/models/instance_last_operation.py +++ b/services/redis/src/stackit/redis/models/instance_last_operation.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -46,7 +47,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/instance_parameters.py b/services/redis/src/stackit/redis/models/instance_parameters.py index f1c778c3d..32f82d55d 100644 --- a/services/redis/src/stackit/redis/models/instance_parameters.py +++ b/services/redis/src/stackit/redis/models/instance_parameters.py @@ -26,6 +26,7 @@ StrictStr, field_validator, ) +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self @@ -150,7 +151,8 @@ def tls_protocols_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -161,8 +163,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/instance_schema.py b/services/redis/src/stackit/redis/models/instance_schema.py index bdb20428d..447600b31 100644 --- a/services/redis/src/stackit/redis/models/instance_schema.py +++ b/services/redis/src/stackit/redis/models/instance_schema.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.model_schema import ModelSchema @@ -33,7 +34,8 @@ class InstanceSchema(BaseModel): __properties: ClassVar[List[str]] = ["create", "update"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/list_backups_response.py b/services/redis/src/stackit/redis/models/list_backups_response.py index 9d3ce2f34..54c00ab7a 100644 --- a/services/redis/src/stackit/redis/models/list_backups_response.py +++ b/services/redis/src/stackit/redis/models/list_backups_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.backup import Backup @@ -32,7 +33,8 @@ class ListBackupsResponse(BaseModel): __properties: ClassVar[List[str]] = ["instanceBackups"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/list_credentials_response.py b/services/redis/src/stackit/redis/models/list_credentials_response.py index bf70d862e..cdd5cb70f 100644 --- a/services/redis/src/stackit/redis/models/list_credentials_response.py +++ b/services/redis/src/stackit/redis/models/list_credentials_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.credentials_list_item import CredentialsListItem @@ -32,7 +33,8 @@ class ListCredentialsResponse(BaseModel): __properties: ClassVar[List[str]] = ["credentialsList"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/list_instances_response.py b/services/redis/src/stackit/redis/models/list_instances_response.py index c783c97f0..8d06eeb6e 100644 --- a/services/redis/src/stackit/redis/models/list_instances_response.py +++ b/services/redis/src/stackit/redis/models/list_instances_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.instance import Instance @@ -32,7 +33,8 @@ class ListInstancesResponse(BaseModel): __properties: ClassVar[List[str]] = ["instances"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/list_offerings_response.py b/services/redis/src/stackit/redis/models/list_offerings_response.py index d0e6f2034..24a4fb6d6 100644 --- a/services/redis/src/stackit/redis/models/list_offerings_response.py +++ b/services/redis/src/stackit/redis/models/list_offerings_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.offering import Offering @@ -32,7 +33,8 @@ class ListOfferingsResponse(BaseModel): __properties: ClassVar[List[str]] = ["offerings"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/list_restores_response.py b/services/redis/src/stackit/redis/models/list_restores_response.py index c2b1a1971..b4fd82669 100644 --- a/services/redis/src/stackit/redis/models/list_restores_response.py +++ b/services/redis/src/stackit/redis/models/list_restores_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.restore import Restore @@ -32,7 +33,8 @@ class ListRestoresResponse(BaseModel): __properties: ClassVar[List[str]] = ["instanceRestores"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/model_schema.py b/services/redis/src/stackit/redis/models/model_schema.py index da461c083..a153bfeca 100644 --- a/services/redis/src/stackit/redis/models/model_schema.py +++ b/services/redis/src/stackit/redis/models/model_schema.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -30,7 +31,8 @@ class ModelSchema(BaseModel): __properties: ClassVar[List[str]] = ["parameters"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -41,8 +43,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/offering.py b/services/redis/src/stackit/redis/models/offering.py index 0feb33406..5f0450552 100644 --- a/services/redis/src/stackit/redis/models/offering.py +++ b/services/redis/src/stackit/redis/models/offering.py @@ -25,6 +25,7 @@ StrictInt, StrictStr, ) +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.instance_schema import InstanceSchema @@ -60,7 +61,8 @@ class Offering(BaseModel): ] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -71,8 +73,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/partial_update_instance_payload.py b/services/redis/src/stackit/redis/models/partial_update_instance_payload.py index 9b72e74b1..14ca8d73c 100644 --- a/services/redis/src/stackit/redis/models/partial_update_instance_payload.py +++ b/services/redis/src/stackit/redis/models/partial_update_instance_payload.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.instance_parameters import InstanceParameters @@ -34,7 +35,8 @@ class PartialUpdateInstancePayload(BaseModel): __properties: ClassVar[List[str]] = ["instanceName", "parameters", "planId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/plan.py b/services/redis/src/stackit/redis/models/plan.py index fe21dfbef..bbda5301d 100644 --- a/services/redis/src/stackit/redis/models/plan.py +++ b/services/redis/src/stackit/redis/models/plan.py @@ -24,6 +24,7 @@ StrictBool, StrictStr, ) +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -40,7 +41,8 @@ class Plan(BaseModel): __properties: ClassVar[List[str]] = ["description", "free", "id", "name", "skuName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/raw_credentials.py b/services/redis/src/stackit/redis/models/raw_credentials.py index 81fa60953..30a7f9bf8 100644 --- a/services/redis/src/stackit/redis/models/raw_credentials.py +++ b/services/redis/src/stackit/redis/models/raw_credentials.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict +from pydantic_core import to_jsonable_python from typing_extensions import Self from stackit.redis.models.credentials import Credentials @@ -32,7 +33,8 @@ class RawCredentials(BaseModel): __properties: ClassVar[List[str]] = ["credentials"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/restore.py b/services/redis/src/stackit/redis/models/restore.py index 02fa431e5..29a90b377 100644 --- a/services/redis/src/stackit/redis/models/restore.py +++ b/services/redis/src/stackit/redis/models/restore.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -34,7 +35,8 @@ class Restore(BaseModel): __properties: ClassVar[List[str]] = ["backup_id", "finished_at", "id", "status", "triggered_at"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/trigger_restore_response.py b/services/redis/src/stackit/redis/models/trigger_restore_response.py index 7da520d0a..ee5880510 100644 --- a/services/redis/src/stackit/redis/models/trigger_restore_response.py +++ b/services/redis/src/stackit/redis/models/trigger_restore_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictInt +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -30,7 +31,8 @@ class TriggerRestoreResponse(BaseModel): __properties: ClassVar[List[str]] = ["id"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -41,8 +43,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/update_backups_config_payload.py b/services/redis/src/stackit/redis/models/update_backups_config_payload.py index 5dcc66894..2b2e184cc 100644 --- a/services/redis/src/stackit/redis/models/update_backups_config_payload.py +++ b/services/redis/src/stackit/redis/models/update_backups_config_payload.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -30,7 +31,8 @@ class UpdateBackupsConfigPayload(BaseModel): __properties: ClassVar[List[str]] = ["encryption_key"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -41,8 +43,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/services/redis/src/stackit/redis/models/update_backups_config_response.py b/services/redis/src/stackit/redis/models/update_backups_config_response.py index 643eef0fd..e5df52a4f 100644 --- a/services/redis/src/stackit/redis/models/update_backups_config_response.py +++ b/services/redis/src/stackit/redis/models/update_backups_config_response.py @@ -18,6 +18,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic_core import to_jsonable_python from typing_extensions import Self @@ -30,7 +31,8 @@ class UpdateBackupsConfigResponse(BaseModel): __properties: ClassVar[List[str]] = ["message"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -41,8 +43,7 @@ def to_str(self) -> str: def to_json(self) -> str: """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: