Skip to content

Commit 4f5e4f1

Browse files
Generate scf
1 parent 875e273 commit 4f5e4f1

42 files changed

Lines changed: 182 additions & 138 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

services/scf/oas_commit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0e64886dd0847341800d7191ed193b75413be998
1+
98c11e0ee4834ddaaa474eccc437d234e6276a70

services/scf/src/stackit/scf/api_client.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class ApiClient:
6767
"date": datetime.date,
6868
"datetime": datetime.datetime,
6969
"decimal": decimal.Decimal,
70+
"UUID": uuid.UUID,
7071
"object": object,
7172
}
7273
_pool = None
@@ -266,7 +267,7 @@ def response_deserialize(
266267
response_text = None
267268
return_data = None
268269
try:
269-
if response_type == "bytearray":
270+
if response_type in ("bytearray", "bytes"):
270271
return_data = response_data.data
271272
elif response_type == "file":
272273
return_data = self.__deserialize_file(response_data)
@@ -327,25 +328,20 @@ def sanitize_for_serialization(self, obj):
327328
return obj.isoformat()
328329
elif isinstance(obj, decimal.Decimal):
329330
return str(obj)
330-
331331
elif isinstance(obj, dict):
332-
obj_dict = obj
332+
return {key: self.sanitize_for_serialization(val) for key, val in obj.items()}
333+
334+
# Convert model obj to dict except
335+
# attributes `openapi_types`, `attribute_map`
336+
# and attributes which value is not None.
337+
# Convert attribute name to json key in
338+
# model definition for request.
339+
if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")):
340+
obj_dict = obj.to_dict()
333341
else:
334-
# Convert model obj to dict except
335-
# attributes `openapi_types`, `attribute_map`
336-
# and attributes which value is not None.
337-
# Convert attribute name to json key in
338-
# model definition for request.
339-
if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): # noqa: B009
340-
obj_dict = obj.to_dict()
341-
else:
342-
obj_dict = obj.__dict__
343-
344-
if isinstance(obj_dict, list):
345-
# 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
346-
return self.sanitize_for_serialization(obj_dict)
342+
obj_dict = obj.__dict__
347343

348-
return {key: self.sanitize_for_serialization(val) for key, val in obj_dict.items()}
344+
return self.sanitize_for_serialization(obj_dict)
349345

350346
def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]):
351347
"""Deserializes response into an object.
@@ -418,6 +414,8 @@ def __deserialize(self, data, klass):
418414
return self.__deserialize_datetime(data)
419415
elif klass is decimal.Decimal:
420416
return decimal.Decimal(data)
417+
elif klass is uuid.UUID:
418+
return uuid.UUID(data)
421419
elif issubclass(klass, Enum):
422420
return self.__deserialize_enum(data, klass)
423421
else:

services/scf/src/stackit/scf/models/apply_organization_quota_payload.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from uuid import UUID
2121

2222
from pydantic import BaseModel, ConfigDict, Field
23+
from pydantic_core import to_jsonable_python
2324
from typing_extensions import Self
2425

2526

@@ -32,7 +33,8 @@ class ApplyOrganizationQuotaPayload(BaseModel):
3233
__properties: ClassVar[List[str]] = ["quotaId"]
3334

3435
model_config = ConfigDict(
35-
populate_by_name=True,
36+
validate_by_name=True,
37+
validate_by_alias=True,
3638
validate_assignment=True,
3739
protected_namespaces=(),
3840
)
@@ -43,8 +45,7 @@ def to_str(self) -> str:
4345

4446
def to_json(self) -> str:
4547
"""Returns the JSON representation of the model using alias"""
46-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47-
return json.dumps(self.to_dict())
48+
return json.dumps(to_jsonable_python(self.to_dict()))
4849

4950
@classmethod
5051
def from_json(cls, json_str: str) -> Optional[Self]:

services/scf/src/stackit/scf/models/create_org_role_payload.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from uuid import UUID
2121

2222
from pydantic import BaseModel, ConfigDict, Field, StrictStr
23+
from pydantic_core import to_jsonable_python
2324
from typing_extensions import Self
2425

2526
from stackit.scf.models.org_role_type import OrgRoleType
@@ -36,7 +37,8 @@ class CreateOrgRolePayload(BaseModel):
3637
__properties: ClassVar[List[str]] = ["type", "userGuid", "userName"]
3738

3839
model_config = ConfigDict(
39-
populate_by_name=True,
40+
validate_by_name=True,
41+
validate_by_alias=True,
4042
validate_assignment=True,
4143
protected_namespaces=(),
4244
)
@@ -47,8 +49,7 @@ def to_str(self) -> str:
4749

4850
def to_json(self) -> str:
4951
"""Returns the JSON representation of the model using alias"""
50-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51-
return json.dumps(self.to_dict())
52+
return json.dumps(to_jsonable_python(self.to_dict()))
5253

5354
@classmethod
5455
def from_json(cls, json_str: str) -> Optional[Self]:

services/scf/src/stackit/scf/models/create_organization_payload.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from uuid import UUID
2121

2222
from pydantic import BaseModel, ConfigDict, Field
23+
from pydantic_core import to_jsonable_python
2324
from typing_extensions import Annotated, Self
2425

2526

@@ -33,7 +34,8 @@ class CreateOrganizationPayload(BaseModel):
3334
__properties: ClassVar[List[str]] = ["name", "platformId"]
3435

3536
model_config = ConfigDict(
36-
populate_by_name=True,
37+
validate_by_name=True,
38+
validate_by_alias=True,
3739
validate_assignment=True,
3840
protected_namespaces=(),
3941
)
@@ -44,8 +46,7 @@ def to_str(self) -> str:
4446

4547
def to_json(self) -> str:
4648
"""Returns the JSON representation of the model using alias"""
47-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48-
return json.dumps(self.to_dict())
49+
return json.dumps(to_jsonable_python(self.to_dict()))
4950

5051
@classmethod
5152
def from_json(cls, json_str: str) -> Optional[Self]:

services/scf/src/stackit/scf/models/create_space_payload.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from typing import Any, ClassVar, Dict, List, Optional, Set
2020

2121
from pydantic import BaseModel, ConfigDict, Field
22+
from pydantic_core import to_jsonable_python
2223
from typing_extensions import Annotated, Self
2324

2425

@@ -31,7 +32,8 @@ class CreateSpacePayload(BaseModel):
3132
__properties: ClassVar[List[str]] = ["name"]
3233

3334
model_config = ConfigDict(
34-
populate_by_name=True,
35+
validate_by_name=True,
36+
validate_by_alias=True,
3537
validate_assignment=True,
3638
protected_namespaces=(),
3739
)
@@ -42,8 +44,7 @@ def to_str(self) -> str:
4244

4345
def to_json(self) -> str:
4446
"""Returns the JSON representation of the model using alias"""
45-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46-
return json.dumps(self.to_dict())
47+
return json.dumps(to_jsonable_python(self.to_dict()))
4748

4849
@classmethod
4950
def from_json(cls, json_str: str) -> Optional[Self]:

services/scf/src/stackit/scf/models/create_space_role_payload.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from uuid import UUID
2121

2222
from pydantic import BaseModel, ConfigDict, Field, StrictStr
23+
from pydantic_core import to_jsonable_python
2324
from typing_extensions import Self
2425

2526
from stackit.scf.models.space_role_type import SpaceRoleType
@@ -36,7 +37,8 @@ class CreateSpaceRolePayload(BaseModel):
3637
__properties: ClassVar[List[str]] = ["type", "userGuid", "userName"]
3738

3839
model_config = ConfigDict(
39-
populate_by_name=True,
40+
validate_by_name=True,
41+
validate_by_alias=True,
4042
validate_assignment=True,
4143
protected_namespaces=(),
4244
)
@@ -47,8 +49,7 @@ def to_str(self) -> str:
4749

4850
def to_json(self) -> str:
4951
"""Returns the JSON representation of the model using alias"""
50-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51-
return json.dumps(self.to_dict())
52+
return json.dumps(to_jsonable_python(self.to_dict()))
5253

5354
@classmethod
5455
def from_json(cls, json_str: str) -> Optional[Self]:

services/scf/src/stackit/scf/models/error_response.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from typing import Any, ClassVar, Dict, List, Optional, Set
2020

2121
from pydantic import BaseModel, ConfigDict, StrictStr
22+
from pydantic_core import to_jsonable_python
2223
from typing_extensions import Self
2324

2425

@@ -32,7 +33,8 @@ class ErrorResponse(BaseModel):
3233
__properties: ClassVar[List[str]] = ["code", "message"]
3334

3435
model_config = ConfigDict(
35-
populate_by_name=True,
36+
validate_by_name=True,
37+
validate_by_alias=True,
3638
validate_assignment=True,
3739
protected_namespaces=(),
3840
)
@@ -43,8 +45,7 @@ def to_str(self) -> str:
4345

4446
def to_json(self) -> str:
4547
"""Returns the JSON representation of the model using alias"""
46-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47-
return json.dumps(self.to_dict())
48+
return json.dumps(to_jsonable_python(self.to_dict()))
4849

4950
@classmethod
5051
def from_json(cls, json_str: str) -> Optional[Self]:

services/scf/src/stackit/scf/models/isolation_segment.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from uuid import UUID
2323

2424
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
25+
from pydantic_core import to_jsonable_python
2526
from typing_extensions import Self
2627

2728

@@ -76,7 +77,8 @@ def updated_at_change_year_zero_to_one(cls, value):
7677
return value
7778

7879
model_config = ConfigDict(
79-
populate_by_name=True,
80+
validate_by_name=True,
81+
validate_by_alias=True,
8082
validate_assignment=True,
8183
protected_namespaces=(),
8284
)
@@ -87,8 +89,7 @@ def to_str(self) -> str:
8789

8890
def to_json(self) -> str:
8991
"""Returns the JSON representation of the model using alias"""
90-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
91-
return json.dumps(self.to_dict())
92+
return json.dumps(to_jsonable_python(self.to_dict()))
9293

9394
@classmethod
9495
def from_json(cls, json_str: str) -> Optional[Self]:

services/scf/src/stackit/scf/models/isolation_segments_list.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from typing import Any, ClassVar, Dict, List, Optional, Set
2020

2121
from pydantic import BaseModel, ConfigDict
22+
from pydantic_core import to_jsonable_python
2223
from typing_extensions import Self
2324

2425
from stackit.scf.models.isolation_segment import IsolationSegment
@@ -35,7 +36,8 @@ class IsolationSegmentsList(BaseModel):
3536
__properties: ClassVar[List[str]] = ["pagination", "resources"]
3637

3738
model_config = ConfigDict(
38-
populate_by_name=True,
39+
validate_by_name=True,
40+
validate_by_alias=True,
3941
validate_assignment=True,
4042
protected_namespaces=(),
4143
)
@@ -46,8 +48,7 @@ def to_str(self) -> str:
4648

4749
def to_json(self) -> str:
4850
"""Returns the JSON representation of the model using alias"""
49-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50-
return json.dumps(self.to_dict())
51+
return json.dumps(to_jsonable_python(self.to_dict()))
5152

5253
@classmethod
5354
def from_json(cls, json_str: str) -> Optional[Self]:

0 commit comments

Comments
 (0)