stackit-cdn 2.5.0__tar.gz → 2.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/PKG-INFO +1 -1
  2. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/pyproject.toml +1 -1
  3. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/api_client.py +15 -17
  4. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/bucket_backend.py +4 -3
  5. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/bucket_backend_create.py +4 -3
  6. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/bucket_backend_patch.py +4 -3
  7. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/bucket_credentials.py +4 -3
  8. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/config.py +4 -3
  9. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/config_patch.py +4 -3
  10. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/create_distribution_payload.py +4 -3
  11. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/create_distribution_response.py +4 -3
  12. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/custom_domain.py +4 -3
  13. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/delete_custom_domain_response.py +4 -3
  14. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/delete_distribution_response.py +4 -3
  15. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/distribution.py +4 -3
  16. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/distribution_logs_record.py +4 -3
  17. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/distribution_statistics_record.py +4 -3
  18. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/distribution_statistics_record_entry.py +4 -3
  19. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/distribution_statistics_record_regions.py +4 -3
  20. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/distribution_waf.py +4 -3
  21. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/domain.py +4 -3
  22. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/error_details.py +4 -3
  23. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/find_cache_paths_response.py +4 -3
  24. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/find_cache_paths_response_entry.py +4 -3
  25. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/generic_json_response.py +4 -3
  26. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_cache_info_response.py +4 -3
  27. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_cache_info_response_history_entry.py +4 -3
  28. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_custom_domain_custom_certificate.py +4 -3
  29. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_custom_domain_managed_certificate.py +4 -3
  30. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_custom_domain_response.py +4 -3
  31. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_distribution_response.py +4 -3
  32. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_logs_response.py +4 -3
  33. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_logs_search_filters_response.py +4 -3
  34. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_logs_search_filters_response_datacenter_block.py +4 -3
  35. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_logs_search_filters_response_datacenter_block_item.py +4 -3
  36. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_statistics_response.py +4 -3
  37. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/http_backend.py +4 -3
  38. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/http_backend_create.py +4 -3
  39. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/http_backend_patch.py +4 -3
  40. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/list_distributions_response.py +4 -3
  41. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/list_waf_collections_response.py +4 -3
  42. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/loki_log_sink.py +4 -3
  43. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/loki_log_sink_create.py +4 -3
  44. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/loki_log_sink_credentials.py +4 -3
  45. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/loki_log_sink_patch.py +4 -3
  46. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/matcher.py +4 -3
  47. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/optimizer.py +4 -3
  48. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/optimizer_patch.py +4 -3
  49. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/patch_distribution_payload.py +4 -3
  50. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/patch_distribution_response.py +4 -3
  51. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/purge_cache_payload.py +4 -3
  52. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/put_custom_domain_custom_certificate.py +4 -3
  53. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/put_custom_domain_managed_certificate.py +4 -3
  54. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/put_custom_domain_payload.py +4 -3
  55. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/put_custom_domain_response.py +4 -3
  56. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/redirect_config.py +4 -3
  57. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/redirect_rule.py +4 -3
  58. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/status_error.py +4 -3
  59. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/tls_config.py +4 -3
  60. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/tls_config_patch.py +4 -3
  61. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_config.py +4 -3
  62. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_config_patch.py +4 -3
  63. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_rule.py +4 -3
  64. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_rule_collection.py +4 -3
  65. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_rule_group.py +4 -3
  66. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_status_rule_block.py +4 -3
  67. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_status_rule_block_reason_directly_defined.py +4 -3
  68. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_status_rule_block_reason_inherited_from_collection.py +4 -3
  69. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_status_rule_block_reason_inherited_from_group.py +4 -3
  70. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_status_rule_block_reason_invalid_waf_type.py +4 -3
  71. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_status_rule_block_reason_never_defined.py +4 -3
  72. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_violation.py +4 -3
  73. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/.gitignore +0 -0
  74. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/LICENSE.md +0 -0
  75. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/NOTICE.txt +0 -0
  76. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/README.md +0 -0
  77. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/__init__.py +0 -0
  78. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/api/__init__.py +0 -0
  79. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/api/default_api.py +0 -0
  80. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/api_response.py +0 -0
  81. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/configuration.py +0 -0
  82. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/exceptions.py +0 -0
  83. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/__init__.py +0 -0
  84. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/config_backend.py +0 -0
  85. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/config_patch_backend.py +0 -0
  86. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/create_distribution_payload_backend.py +0 -0
  87. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/domain_status.py +0 -0
  88. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/get_custom_domain_response_certificate.py +0 -0
  89. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/match_condition.py +0 -0
  90. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/put_custom_domain_payload_certificate.py +0 -0
  91. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/put_custom_domain_response_certificate.py +0 -0
  92. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/region.py +0 -0
  93. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_mode.py +0 -0
  94. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_paranoia_level.py +0 -0
  95. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_rule_action.py +0 -0
  96. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_status_rule_block_reason.py +0 -0
  97. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/models/waf_type.py +0 -0
  98. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/py.typed +0 -0
  99. {stackit_cdn-2.5.0 → stackit_cdn-2.6.0}/src/stackit/cdn/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stackit-cdn
3
- Version: 2.5.0
3
+ Version: 2.6.0
4
4
  Summary: CDN API
5
5
  Project-URL: Homepage, https://github.com/stackitcloud/stackit-sdk-python
6
6
  Project-URL: Issues, https://github.com/stackitcloud/stackit-sdk-python/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stackit-cdn"
3
- version = "v2.5.0"
3
+ version = "v2.6.0"
4
4
  description = "CDN API"
5
5
  authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
6
6
  requires-python = ">=3.9,<4.0"
@@ -66,6 +66,7 @@ class ApiClient:
66
66
  "date": datetime.date,
67
67
  "datetime": datetime.datetime,
68
68
  "decimal": decimal.Decimal,
69
+ "UUID": uuid.UUID,
69
70
  "object": object,
70
71
  }
71
72
  _pool = None
@@ -265,7 +266,7 @@ class ApiClient:
265
266
  response_text = None
266
267
  return_data = None
267
268
  try:
268
- if response_type == "bytearray":
269
+ if response_type in ("bytearray", "bytes"):
269
270
  return_data = response_data.data
270
271
  elif response_type == "file":
271
272
  return_data = self.__deserialize_file(response_data)
@@ -326,25 +327,20 @@ class ApiClient:
326
327
  return obj.isoformat()
327
328
  elif isinstance(obj, decimal.Decimal):
328
329
  return str(obj)
329
-
330
330
  elif isinstance(obj, dict):
331
- obj_dict = obj
331
+ return {key: self.sanitize_for_serialization(val) for key, val in obj.items()}
332
+
333
+ # Convert model obj to dict except
334
+ # attributes `openapi_types`, `attribute_map`
335
+ # and attributes which value is not None.
336
+ # Convert attribute name to json key in
337
+ # model definition for request.
338
+ if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): # noqa: B009
339
+ obj_dict = obj.to_dict()
332
340
  else:
333
- # Convert model obj to dict except
334
- # attributes `openapi_types`, `attribute_map`
335
- # and attributes which value is not None.
336
- # Convert attribute name to json key in
337
- # model definition for request.
338
- if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): # noqa: B009
339
- obj_dict = obj.to_dict()
340
- else:
341
- obj_dict = obj.__dict__
342
-
343
- if isinstance(obj_dict, list):
344
- # 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
345
- return self.sanitize_for_serialization(obj_dict)
341
+ obj_dict = obj.__dict__
346
342
 
347
- return {key: self.sanitize_for_serialization(val) for key, val in obj_dict.items()}
343
+ return self.sanitize_for_serialization(obj_dict)
348
344
 
349
345
  def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]):
350
346
  """Deserializes response into an object.
@@ -417,6 +413,8 @@ class ApiClient:
417
413
  return self.__deserialize_datetime(data)
418
414
  elif klass is decimal.Decimal:
419
415
  return decimal.Decimal(data)
416
+ elif klass is uuid.UUID:
417
+ return uuid.UUID(data)
420
418
  elif issubclass(klass, Enum):
421
419
  return self.__deserialize_enum(data, klass)
422
420
  else:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
 
@@ -32,7 +33,8 @@ class BucketBackend(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["bucketUrl", "region", "type"]
33
34
 
34
35
  model_config = ConfigDict(
35
- populate_by_name=True,
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
36
38
  validate_assignment=True,
37
39
  protected_namespaces=(),
38
40
  )
@@ -43,8 +45,7 @@ class BucketBackend(BaseModel):
43
45
 
44
46
  def to_json(self) -> str:
45
47
  """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()))
48
49
 
49
50
  @classmethod
50
51
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
  from stackit.cdn.models.bucket_credentials import BucketCredentials
@@ -35,7 +36,8 @@ class BucketBackendCreate(BaseModel):
35
36
  __properties: ClassVar[List[str]] = ["bucketUrl", "credentials", "region", "type"]
36
37
 
37
38
  model_config = ConfigDict(
38
- populate_by_name=True,
39
+ validate_by_name=True,
40
+ validate_by_alias=True,
39
41
  validate_assignment=True,
40
42
  protected_namespaces=(),
41
43
  )
@@ -46,8 +48,7 @@ class BucketBackendCreate(BaseModel):
46
48
 
47
49
  def to_json(self) -> str:
48
50
  """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()))
51
52
 
52
53
  @classmethod
53
54
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
  from stackit.cdn.models.bucket_credentials import BucketCredentials
@@ -35,7 +36,8 @@ class BucketBackendPatch(BaseModel):
35
36
  __properties: ClassVar[List[str]] = ["bucketUrl", "credentials", "region", "type"]
36
37
 
37
38
  model_config = ConfigDict(
38
- populate_by_name=True,
39
+ validate_by_name=True,
40
+ validate_by_alias=True,
39
41
  validate_assignment=True,
40
42
  protected_namespaces=(),
41
43
  )
@@ -46,8 +48,7 @@ class BucketBackendPatch(BaseModel):
46
48
 
47
49
  def to_json(self) -> str:
48
50
  """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()))
51
52
 
52
53
  @classmethod
53
54
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
 
@@ -31,7 +32,8 @@ class BucketCredentials(BaseModel):
31
32
  __properties: ClassVar[List[str]] = ["accessKeyId", "secretAccessKey"]
32
33
 
33
34
  model_config = ConfigDict(
34
- populate_by_name=True,
35
+ validate_by_name=True,
36
+ validate_by_alias=True,
35
37
  validate_assignment=True,
36
38
  protected_namespaces=(),
37
39
  )
@@ -42,8 +44,7 @@ class BucketCredentials(BaseModel):
42
44
 
43
45
  def to_json(self) -> str:
44
46
  """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()))
47
48
 
48
49
  @classmethod
49
50
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBool,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Annotated, Self
28
29
 
29
30
  from stackit.cdn.models.config_backend import ConfigBackend
@@ -90,7 +91,8 @@ class Config(BaseModel):
90
91
  ]
91
92
 
92
93
  model_config = ConfigDict(
93
- populate_by_name=True,
94
+ validate_by_name=True,
95
+ validate_by_alias=True,
94
96
  validate_assignment=True,
95
97
  protected_namespaces=(),
96
98
  )
@@ -101,8 +103,7 @@ class Config(BaseModel):
101
103
 
102
104
  def to_json(self) -> str:
103
105
  """Returns the JSON representation of the model using alias"""
104
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
105
- return json.dumps(self.to_dict())
106
+ return json.dumps(to_jsonable_python(self.to_dict()))
106
107
 
107
108
  @classmethod
108
109
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBool,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Annotated, Self
28
29
 
29
30
  from stackit.cdn.models.config_patch_backend import ConfigPatchBackend
@@ -94,7 +95,8 @@ class ConfigPatch(BaseModel):
94
95
  ]
95
96
 
96
97
  model_config = ConfigDict(
97
- populate_by_name=True,
98
+ validate_by_name=True,
99
+ validate_by_alias=True,
98
100
  validate_assignment=True,
99
101
  protected_namespaces=(),
100
102
  )
@@ -105,8 +107,7 @@ class ConfigPatch(BaseModel):
105
107
 
106
108
  def to_json(self) -> str:
107
109
  """Returns the JSON representation of the model using alias"""
108
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
109
- return json.dumps(self.to_dict())
110
+ return json.dumps(to_jsonable_python(self.to_dict()))
110
111
 
111
112
  @classmethod
112
113
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBool,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Annotated, Self
28
29
 
29
30
  from stackit.cdn.models.create_distribution_payload_backend import (
@@ -104,7 +105,8 @@ class CreateDistributionPayload(BaseModel):
104
105
  ]
105
106
 
106
107
  model_config = ConfigDict(
107
- populate_by_name=True,
108
+ validate_by_name=True,
109
+ validate_by_alias=True,
108
110
  validate_assignment=True,
109
111
  protected_namespaces=(),
110
112
  )
@@ -115,8 +117,7 @@ class CreateDistributionPayload(BaseModel):
115
117
 
116
118
  def to_json(self) -> str:
117
119
  """Returns the JSON representation of the model using alias"""
118
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
119
- return json.dumps(self.to_dict())
120
+ return json.dumps(to_jsonable_python(self.to_dict()))
120
121
 
121
122
  @classmethod
122
123
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
  from stackit.cdn.models.distribution import Distribution
@@ -32,7 +33,8 @@ class CreateDistributionResponse(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["distribution"]
33
34
 
34
35
  model_config = ConfigDict(
35
- populate_by_name=True,
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
36
38
  validate_assignment=True,
37
39
  protected_namespaces=(),
38
40
  )
@@ -43,8 +45,7 @@ class CreateDistributionResponse(BaseModel):
43
45
 
44
46
  def to_json(self) -> str:
45
47
  """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()))
48
49
 
49
50
  @classmethod
50
51
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Annotated, Self
22
23
 
23
24
  from stackit.cdn.models.domain_status import DomainStatus
@@ -39,7 +40,8 @@ class CustomDomain(BaseModel):
39
40
  __properties: ClassVar[List[str]] = ["errors", "name", "status"]
40
41
 
41
42
  model_config = ConfigDict(
42
- populate_by_name=True,
43
+ validate_by_name=True,
44
+ validate_by_alias=True,
43
45
  validate_assignment=True,
44
46
  protected_namespaces=(),
45
47
  )
@@ -50,8 +52,7 @@ class CustomDomain(BaseModel):
50
52
 
51
53
  def to_json(self) -> str:
52
54
  """Returns the JSON representation of the model using alias"""
53
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
54
- return json.dumps(self.to_dict())
55
+ return json.dumps(to_jsonable_python(self.to_dict()))
55
56
 
56
57
  @classmethod
57
58
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
  from stackit.cdn.models.custom_domain import CustomDomain
@@ -32,7 +33,8 @@ class DeleteCustomDomainResponse(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["customDomain"]
33
34
 
34
35
  model_config = ConfigDict(
35
- populate_by_name=True,
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
36
38
  validate_assignment=True,
37
39
  protected_namespaces=(),
38
40
  )
@@ -43,8 +45,7 @@ class DeleteCustomDomainResponse(BaseModel):
43
45
 
44
46
  def to_json(self) -> str:
45
47
  """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()))
48
49
 
49
50
  @classmethod
50
51
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
  from stackit.cdn.models.distribution import Distribution
@@ -32,7 +33,8 @@ class DeleteDistributionResponse(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["distribution"]
33
34
 
34
35
  model_config = ConfigDict(
35
- populate_by_name=True,
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
36
38
  validate_assignment=True,
37
39
  protected_namespaces=(),
38
40
  )
@@ -43,8 +45,7 @@ class DeleteDistributionResponse(BaseModel):
43
45
 
44
46
  def to_json(self) -> str:
45
47
  """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()))
48
49
 
49
50
  @classmethod
50
51
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -20,6 +20,7 @@ from datetime import datetime
20
20
  from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
 
22
22
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
23
+ from pydantic_core import to_jsonable_python
23
24
  from typing_extensions import Annotated, Self
24
25
 
25
26
  from stackit.cdn.models.config import Config
@@ -98,7 +99,8 @@ class Distribution(BaseModel):
98
99
  return value
99
100
 
100
101
  model_config = ConfigDict(
101
- populate_by_name=True,
102
+ validate_by_name=True,
103
+ validate_by_alias=True,
102
104
  validate_assignment=True,
103
105
  protected_namespaces=(),
104
106
  )
@@ -109,8 +111,7 @@ class Distribution(BaseModel):
109
111
 
110
112
  def to_json(self) -> str:
111
113
  """Returns the JSON representation of the model using alias"""
112
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
113
- return json.dumps(self.to_dict())
114
+ return json.dumps(to_jsonable_python(self.to_dict()))
114
115
 
115
116
  @classmethod
116
117
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -28,6 +28,7 @@ from pydantic import (
28
28
  StrictStr,
29
29
  field_validator,
30
30
  )
31
+ from pydantic_core import to_jsonable_python
31
32
  from typing_extensions import Annotated, Self
32
33
 
33
34
  from stackit.cdn.models.waf_violation import WAFViolation
@@ -77,7 +78,8 @@ class DistributionLogsRecord(BaseModel):
77
78
  return value
78
79
 
79
80
  model_config = ConfigDict(
80
- populate_by_name=True,
81
+ validate_by_name=True,
82
+ validate_by_alias=True,
81
83
  validate_assignment=True,
82
84
  protected_namespaces=(),
83
85
  )
@@ -88,8 +90,7 @@ class DistributionLogsRecord(BaseModel):
88
90
 
89
91
  def to_json(self) -> str:
90
92
  """Returns the JSON representation of the model using alias"""
91
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
92
- return json.dumps(self.to_dict())
93
+ return json.dumps(to_jsonable_python(self.to_dict()))
93
94
 
94
95
  @classmethod
95
96
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -20,6 +20,7 @@ from datetime import datetime
20
20
  from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
 
22
22
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, field_validator
23
+ from pydantic_core import to_jsonable_python
23
24
  from typing_extensions import Self
24
25
 
25
26
  from stackit.cdn.models.distribution_statistics_record_regions import (
@@ -76,7 +77,8 @@ class DistributionStatisticsRecord(BaseModel):
76
77
  return value
77
78
 
78
79
  model_config = ConfigDict(
79
- populate_by_name=True,
80
+ validate_by_name=True,
81
+ validate_by_alias=True,
80
82
  validate_assignment=True,
81
83
  protected_namespaces=(),
82
84
  )
@@ -87,8 +89,7 @@ class DistributionStatisticsRecord(BaseModel):
87
89
 
88
90
  def to_json(self) -> str:
89
91
  """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()))
92
93
 
93
94
  @classmethod
94
95
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictInt
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
 
@@ -34,7 +35,8 @@ class DistributionStatisticsRecordEntry(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["cachedRequests", "totalRequests", "totalTrafficBytes"]
35
36
 
36
37
  model_config = ConfigDict(
37
- populate_by_name=True,
38
+ validate_by_name=True,
39
+ validate_by_alias=True,
38
40
  validate_assignment=True,
39
41
  protected_namespaces=(),
40
42
  )
@@ -45,8 +47,7 @@ class DistributionStatisticsRecordEntry(BaseModel):
45
47
 
46
48
  def to_json(self) -> str:
47
49
  """Returns the JSON representation of the model using alias"""
48
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
- return json.dumps(self.to_dict())
50
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
51
 
51
52
  @classmethod
52
53
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
  from stackit.cdn.models.distribution_statistics_record_entry import (
@@ -38,7 +39,8 @@ class DistributionStatisticsRecordRegions(BaseModel):
38
39
  __properties: ClassVar[List[str]] = ["AF", "ASIA", "EU", "SA", "US"]
39
40
 
40
41
  model_config = ConfigDict(
41
- populate_by_name=True,
42
+ validate_by_name=True,
43
+ validate_by_alias=True,
42
44
  validate_assignment=True,
43
45
  protected_namespaces=(),
44
46
  )
@@ -49,8 +51,7 @@ class DistributionStatisticsRecordRegions(BaseModel):
49
51
 
50
52
  def to_json(self) -> str:
51
53
  """Returns the JSON representation of the model using alias"""
52
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
53
- return json.dumps(self.to_dict())
54
+ return json.dumps(to_jsonable_python(self.to_dict()))
54
55
 
55
56
  @classmethod
56
57
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
  from stackit.cdn.models.waf_status_rule_block import WafStatusRuleBlock
@@ -34,7 +35,8 @@ class DistributionWaf(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["disabledRules", "enabledRules", "logOnlyRules"]
35
36
 
36
37
  model_config = ConfigDict(
37
- populate_by_name=True,
38
+ validate_by_name=True,
39
+ validate_by_alias=True,
38
40
  validate_assignment=True,
39
41
  protected_namespaces=(),
40
42
  )
@@ -45,8 +47,7 @@ class DistributionWaf(BaseModel):
45
47
 
46
48
  def to_json(self) -> str:
47
49
  """Returns the JSON representation of the model using alias"""
48
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
- return json.dumps(self.to_dict())
50
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
51
 
51
52
  @classmethod
52
53
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Annotated, Self
22
23
 
23
24
  from stackit.cdn.models.domain_status import DomainStatus
@@ -57,7 +58,8 @@ class Domain(BaseModel):
57
58
  return value
58
59
 
59
60
  model_config = ConfigDict(
60
- populate_by_name=True,
61
+ validate_by_name=True,
62
+ validate_by_alias=True,
61
63
  validate_assignment=True,
62
64
  protected_namespaces=(),
63
65
  )
@@ -68,8 +70,7 @@ class Domain(BaseModel):
68
70
 
69
71
  def to_json(self) -> str:
70
72
  """Returns the JSON representation of the model using alias"""
71
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
72
- return json.dumps(self.to_dict())
73
+ return json.dumps(to_jsonable_python(self.to_dict()))
73
74
 
74
75
  @classmethod
75
76
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, field_validator
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Annotated, Self
22
23
 
23
24
 
@@ -48,7 +49,8 @@ class ErrorDetails(BaseModel):
48
49
  return value
49
50
 
50
51
  model_config = ConfigDict(
51
- populate_by_name=True,
52
+ validate_by_name=True,
53
+ validate_by_alias=True,
52
54
  validate_assignment=True,
53
55
  protected_namespaces=(),
54
56
  )
@@ -59,8 +61,7 @@ class ErrorDetails(BaseModel):
59
61
 
60
62
  def to_json(self) -> str:
61
63
  """Returns the JSON representation of the model using alias"""
62
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
63
- return json.dumps(self.to_dict())
64
+ return json.dumps(to_jsonable_python(self.to_dict()))
64
65
 
65
66
  @classmethod
66
67
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -18,6 +18,7 @@ import pprint
18
18
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
  from stackit.cdn.models.find_cache_paths_response_entry import (
@@ -34,7 +35,8 @@ class FindCachePathsResponse(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["response"]
35
36
 
36
37
  model_config = ConfigDict(
37
- populate_by_name=True,
38
+ validate_by_name=True,
39
+ validate_by_alias=True,
38
40
  validate_assignment=True,
39
41
  protected_namespaces=(),
40
42
  )
@@ -45,8 +47,7 @@ class FindCachePathsResponse(BaseModel):
45
47
 
46
48
  def to_json(self) -> str:
47
49
  """Returns the JSON representation of the model using alias"""
48
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
- return json.dumps(self.to_dict())
50
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
51
 
51
52
  @classmethod
52
53
  def from_json(cls, json_str: str) -> Optional[Self]: