From 1484126fbaf0eeff55fad4648d8aa1700f54192d Mon Sep 17 00:00:00 2001 From: SDK Generator Bot Date: Mon, 11 May 2026 14:59:27 +0000 Subject: [PATCH] Generate telemetryrouter --- services/telemetryrouter/oas_commit | 2 +- .../src/stackit/telemetryrouter/api_client.py | 32 +++++++++---------- .../models/access_token_base_request.py | 10 ++++-- .../models/access_token_base_response.py | 10 ++++-- .../telemetryrouter/models/config_filter.py | 7 ++-- .../models/config_filter_attributes.py | 7 ++-- .../models/create_access_token_payload.py | 10 ++++-- .../models/create_access_token_response.py | 10 ++++-- .../models/create_destination_payload.py | 10 ++++-- .../models/create_telemetry_router_payload.py | 10 ++++-- .../models/destination_config.py | 7 ++-- .../destination_config_open_telemetry.py | 7 ++-- ...nation_config_open_telemetry_basic_auth.py | 7 ++-- .../models/destination_config_s3.py | 7 ++-- .../destination_config_s3_access_key.py | 7 ++-- .../models/destination_response.py | 10 ++++-- .../models/get_access_token_response.py | 10 ++++-- .../models/list_access_tokens_response.py | 7 ++-- .../models/list_destinations_response.py | 7 ++-- .../models/list_telemetry_routers_response.py | 7 ++-- .../telemetryrouter/models/response4xx.py | 7 ++-- .../models/telemetry_router_response.py | 10 ++++-- .../models/update_access_token_payload.py | 10 ++++-- .../models/update_access_token_response.py | 10 ++++-- .../models/update_destination_payload.py | 10 ++++-- .../models/update_telemetry_router_payload.py | 10 ++++-- 26 files changed, 151 insertions(+), 90 deletions(-) diff --git a/services/telemetryrouter/oas_commit b/services/telemetryrouter/oas_commit index 7d5fc0bc0..72dcff29c 100644 --- a/services/telemetryrouter/oas_commit +++ b/services/telemetryrouter/oas_commit @@ -1 +1 @@ -a896a71ffc1c1152f63b40a0194ac461ce179d6c +0867dbbb09a8032415dc6debe18bc392bd58ba42 diff --git a/services/telemetryrouter/src/stackit/telemetryrouter/api_client.py b/services/telemetryrouter/src/stackit/telemetryrouter/api_client.py index f0fb0eec8..61c2f0d3d 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/api_client.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/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/telemetryrouter/src/stackit/telemetryrouter/models/access_token_base_request.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/access_token_base_request.py index 3a0d193cc..734720a3d 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/access_token_base_request.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/access_token_base_request.py @@ -19,6 +19,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self @@ -42,12 +43,16 @@ class AccessTokenBaseRequest(BaseModel): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +63,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/telemetryrouter/src/stackit/telemetryrouter/models/access_token_base_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/access_token_base_response.py index 8b19f381f..8c6c84f6c 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/access_token_base_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/access_token_base_response.py @@ -21,6 +21,7 @@ from uuid import UUID from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self @@ -48,6 +49,9 @@ class AccessTokenBaseResponse(BaseModel): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 ]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 ]*$/") return value @@ -73,7 +77,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=(), ) @@ -84,8 +89,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/telemetryrouter/src/stackit/telemetryrouter/models/config_filter.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/config_filter.py index d566011f6..d3bb149bd 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/config_filter.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/config_filter.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 Annotated, Self from stackit.telemetryrouter.models.config_filter_attributes import ( @@ -34,7 +35,8 @@ class ConfigFilter(BaseModel): __properties: ClassVar[List[str]] = ["attributes"] 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/telemetryrouter/src/stackit/telemetryrouter/models/config_filter_attributes.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/config_filter_attributes.py index 61d0045d1..ed397ec22 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/config_filter_attributes.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/config_filter_attributes.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 Annotated, Self from stackit.telemetryrouter.models.config_filter_level import ConfigFilterLevel @@ -38,7 +39,8 @@ class ConfigFilterAttributes(BaseModel): __properties: ClassVar[List[str]] = ["key", "level", "matcher", "values"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,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/telemetryrouter/src/stackit/telemetryrouter/models/create_access_token_payload.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/create_access_token_payload.py index d175f14a3..24258826f 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/create_access_token_payload.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/create_access_token_payload.py @@ -19,6 +19,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self @@ -42,12 +43,16 @@ class CreateAccessTokenPayload(BaseModel): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +63,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/telemetryrouter/src/stackit/telemetryrouter/models/create_access_token_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/create_access_token_response.py index 4717c225e..6875fe6a1 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/create_access_token_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/create_access_token_response.py @@ -21,6 +21,7 @@ from uuid import UUID from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self @@ -57,6 +58,9 @@ class CreateAccessTokenResponse(BaseModel): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 ]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 ]*$/") return value @@ -82,7 +86,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=(), ) @@ -93,8 +98,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/telemetryrouter/src/stackit/telemetryrouter/models/create_destination_payload.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/create_destination_payload.py index 0471ec075..8d5dc5506 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/create_destination_payload.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/create_destination_payload.py @@ -19,6 +19,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self from stackit.telemetryrouter.models.destination_config import DestinationConfig @@ -42,12 +43,16 @@ class CreateDestinationPayload(BaseModel): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +63,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/telemetryrouter/src/stackit/telemetryrouter/models/create_telemetry_router_payload.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/create_telemetry_router_payload.py index 3b889590c..4d5b81951 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/create_telemetry_router_payload.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/create_telemetry_router_payload.py @@ -19,6 +19,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self from stackit.telemetryrouter.models.config_filter import ConfigFilter @@ -42,12 +43,16 @@ class CreateTelemetryRouterPayload(BaseModel): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +63,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/telemetryrouter/src/stackit/telemetryrouter/models/destination_config.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config.py index 2ca34dd88..6efe7e9fd 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config.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.telemetryrouter.models.config_filter import ConfigFilter @@ -40,7 +41,8 @@ class DestinationConfig(BaseModel): __properties: ClassVar[List[str]] = ["configType", "filter", "openTelemetry", "s3"] 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/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_open_telemetry.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_open_telemetry.py index caf05665b..9081426d0 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_open_telemetry.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_open_telemetry.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 Annotated, Self from stackit.telemetryrouter.models.destination_config_open_telemetry_basic_auth import ( @@ -38,7 +39,8 @@ class DestinationConfigOpenTelemetry(BaseModel): __properties: ClassVar[List[str]] = ["basicAuth", "bearerToken", "uri"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,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/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_open_telemetry_basic_auth.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_open_telemetry_basic_auth.py index 703e72817..e2854de02 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_open_telemetry_basic_auth.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_open_telemetry_basic_auth.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 Annotated, Self @@ -31,7 +32,8 @@ class DestinationConfigOpenTelemetryBasicAuth(BaseModel): __properties: ClassVar[List[str]] = ["password", "username"] 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/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_s3.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_s3.py index 67c68d2d1..704b9948f 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_s3.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_s3.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 Annotated, Self from stackit.telemetryrouter.models.destination_config_s3_access_key import ( @@ -38,7 +39,8 @@ class DestinationConfigS3(BaseModel): __properties: ClassVar[List[str]] = ["accessKey", "bucket", "endpoint"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,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/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_s3_access_key.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_s3_access_key.py index 175b27214..26d96fbc2 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_s3_access_key.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_config_s3_access_key.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 Annotated, Self @@ -31,7 +32,8 @@ class DestinationConfigS3AccessKey(BaseModel): __properties: ClassVar[List[str]] = ["id", "secret"] 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/telemetryrouter/src/stackit/telemetryrouter/models/destination_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_response.py index c893898a6..dd03b7f55 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/destination_response.py @@ -21,6 +21,7 @@ from uuid import UUID from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self from stackit.telemetryrouter.models.destination_config import DestinationConfig @@ -76,6 +77,9 @@ def credential_type_validate_enum(cls, value): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value @@ -88,7 +92,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=(), ) @@ -99,8 +104,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/telemetryrouter/src/stackit/telemetryrouter/models/get_access_token_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/get_access_token_response.py index abafbd076..c5d24d4db 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/get_access_token_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/get_access_token_response.py @@ -21,6 +21,7 @@ from uuid import UUID from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self @@ -48,6 +49,9 @@ class GetAccessTokenResponse(BaseModel): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 ]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 ]*$/") return value @@ -73,7 +77,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=(), ) @@ -84,8 +89,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/telemetryrouter/src/stackit/telemetryrouter/models/list_access_tokens_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/list_access_tokens_response.py index 90d903c6b..eb82f2956 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/list_access_tokens_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/list_access_tokens_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 from stackit.telemetryrouter.models.get_access_token_response import ( @@ -37,7 +38,8 @@ class ListAccessTokensResponse(BaseModel): __properties: ClassVar[List[str]] = ["accessTokens", "nextPageToken"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,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/telemetryrouter/src/stackit/telemetryrouter/models/list_destinations_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/list_destinations_response.py index cbef204c5..cf6ad70f4 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/list_destinations_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/list_destinations_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 from stackit.telemetryrouter.models.destination_response import DestinationResponse @@ -35,7 +36,8 @@ class ListDestinationsResponse(BaseModel): __properties: ClassVar[List[str]] = ["destinations", "nextPageToken"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,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/telemetryrouter/src/stackit/telemetryrouter/models/list_telemetry_routers_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/list_telemetry_routers_response.py index b9a776c65..2769a761b 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/list_telemetry_routers_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/list_telemetry_routers_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 from stackit.telemetryrouter.models.telemetry_router_response import ( @@ -37,7 +38,8 @@ class ListTelemetryRoutersResponse(BaseModel): __properties: ClassVar[List[str]] = ["nextPageToken", "telemetryRouters"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,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/telemetryrouter/src/stackit/telemetryrouter/models/response4xx.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/response4xx.py index e87c98255..275a17b63 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/response4xx.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/response4xx.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 Response4xx(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]: diff --git a/services/telemetryrouter/src/stackit/telemetryrouter/models/telemetry_router_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/telemetry_router_response.py index 3fe3e6b58..afacdf595 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/telemetry_router_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/telemetry_router_response.py @@ -21,6 +21,7 @@ from uuid import UUID from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self from stackit.telemetryrouter.models.config_filter import ConfigFilter @@ -61,6 +62,9 @@ def creation_time_change_year_zero_to_one(cls, value): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value @@ -73,7 +77,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=(), ) @@ -84,8 +89,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/telemetryrouter/src/stackit/telemetryrouter/models/update_access_token_payload.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/update_access_token_payload.py index b2a5bb1b7..6009e167a 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/update_access_token_payload.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/update_access_token_payload.py @@ -19,6 +19,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self @@ -39,12 +40,16 @@ def display_name_validate_regular_expression(cls, value): if value is None: return value + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +60,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/telemetryrouter/src/stackit/telemetryrouter/models/update_access_token_response.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/update_access_token_response.py index b93ae593a..e01117b21 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/update_access_token_response.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/update_access_token_response.py @@ -21,6 +21,7 @@ from uuid import UUID from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self @@ -48,6 +49,9 @@ class UpdateAccessTokenResponse(BaseModel): @field_validator("display_name") def display_name_validate_regular_expression(cls, value): """Validates the regular expression""" + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 ]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 ]*$/") return value @@ -73,7 +77,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=(), ) @@ -84,8 +89,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/telemetryrouter/src/stackit/telemetryrouter/models/update_destination_payload.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/update_destination_payload.py index 1bf44a163..c4c041590 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/update_destination_payload.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/update_destination_payload.py @@ -19,6 +19,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self from stackit.telemetryrouter.models.destination_config import DestinationConfig @@ -47,12 +48,16 @@ def display_name_validate_regular_expression(cls, value): if value is None: return value + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -63,8 +68,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/telemetryrouter/src/stackit/telemetryrouter/models/update_telemetry_router_payload.py b/services/telemetryrouter/src/stackit/telemetryrouter/models/update_telemetry_router_payload.py index 23d0fe7d0..c1e95f39a 100644 --- a/services/telemetryrouter/src/stackit/telemetryrouter/models/update_telemetry_router_payload.py +++ b/services/telemetryrouter/src/stackit/telemetryrouter/models/update_telemetry_router_payload.py @@ -19,6 +19,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic_core import to_jsonable_python from typing_extensions import Annotated, Self from stackit.telemetryrouter.models.config_filter import ConfigFilter @@ -47,12 +48,16 @@ def display_name_validate_regular_expression(cls, value): if value is None: return value + if not isinstance(value, str): + value = str(value) + if not re.match(r"^[a-zA-Z0-9][a-zA-Z0-9 \-]*$", value): raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9][a-zA-Z0-9 \-]*$/") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -63,8 +68,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]: