stackit-alb 0.9.2__tar.gz → 0.10.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 (56) hide show
  1. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/PKG-INFO +1 -1
  2. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/pyproject.toml +1 -1
  3. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/api/default_api.py +6 -0
  4. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/api_client.py +15 -17
  5. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/active_health_check.py +13 -3
  6. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/certificate_config.py +4 -3
  7. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/cookie_persistence.py +7 -3
  8. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/create_credentials_payload.py +7 -3
  9. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/create_credentials_response.py +4 -3
  10. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/create_load_balancer_payload.py +7 -3
  11. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/credentials_response.py +7 -3
  12. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/get_credentials_response.py +4 -3
  13. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/get_quota_response.py +10 -3
  14. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/google_protobuf_any.py +4 -3
  15. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/host_config.py +4 -3
  16. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/http_header.py +4 -3
  17. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/http_health_checks.py +4 -3
  18. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/list_credentials_response.py +4 -3
  19. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/list_load_balancers_response.py +7 -3
  20. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/list_plans_response.py +4 -3
  21. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/listener.py +10 -3
  22. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/load_balancer.py +7 -3
  23. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/load_balancer_error.py +4 -3
  24. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/load_balancer_options.py +4 -3
  25. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/loadbalancer_option_access_control.py +4 -3
  26. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/loadbalancer_option_logs.py +4 -3
  27. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/loadbalancer_option_metrics.py +4 -3
  28. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/loadbalancer_option_observability.py +4 -3
  29. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/network.py +7 -3
  30. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/path.py +4 -3
  31. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/plan_details.py +4 -3
  32. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/protocol_options_http.py +4 -3
  33. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/protocol_options_https.py +4 -3
  34. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/query_parameter.py +4 -3
  35. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/rule.py +4 -3
  36. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/security_group.py +4 -3
  37. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/status.py +4 -3
  38. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/target.py +7 -3
  39. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/target_pool.py +7 -3
  40. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/tls_config.py +4 -3
  41. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/update_credentials_payload.py +7 -3
  42. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/update_credentials_response.py +4 -3
  43. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/update_load_balancer_payload.py +7 -3
  44. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/update_target_pool_payload.py +7 -3
  45. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/.gitignore +0 -0
  46. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/LICENSE.md +0 -0
  47. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/NOTICE.txt +0 -0
  48. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/README.md +0 -0
  49. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/__init__.py +0 -0
  50. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/api/__init__.py +0 -0
  51. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/api_response.py +0 -0
  52. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/configuration.py +0 -0
  53. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/exceptions.py +0 -0
  54. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/models/__init__.py +0 -0
  55. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/py.typed +0 -0
  56. {stackit_alb-0.9.2 → stackit_alb-0.10.0}/src/stackit/alb/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stackit-alb
3
- Version: 0.9.2
3
+ Version: 0.10.0
4
4
  Summary: Application Load Balancer 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-alb"
3
- version = "v0.9.2"
3
+ version = "v0.10.0"
4
4
  description = "Application Load Balancer API"
5
5
  authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
6
6
  requires-python = ">=3.9,<4.0"
@@ -117,6 +117,7 @@ class DefaultApi:
117
117
  "400": None,
118
118
  "401": "Status",
119
119
  "403": None,
120
+ "429": None,
120
121
  "500": None,
121
122
  }
122
123
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -193,6 +194,7 @@ class DefaultApi:
193
194
  "400": None,
194
195
  "401": "Status",
195
196
  "403": None,
197
+ "429": None,
196
198
  "500": None,
197
199
  }
198
200
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -269,6 +271,7 @@ class DefaultApi:
269
271
  "400": None,
270
272
  "401": "Status",
271
273
  "403": None,
274
+ "429": None,
272
275
  "500": None,
273
276
  }
274
277
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -409,6 +412,7 @@ class DefaultApi:
409
412
  "401": "Status",
410
413
  "403": None,
411
414
  "409": None,
415
+ "429": None,
412
416
  "500": None,
413
417
  }
414
418
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -486,6 +490,7 @@ class DefaultApi:
486
490
  "401": "Status",
487
491
  "403": None,
488
492
  "409": None,
493
+ "429": None,
489
494
  "500": None,
490
495
  }
491
496
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -563,6 +568,7 @@ class DefaultApi:
563
568
  "401": "Status",
564
569
  "403": None,
565
570
  "409": None,
571
+ "429": None,
566
572
  "500": None,
567
573
  }
568
574
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -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:
@@ -19,6 +19,7 @@ import re # noqa: F401
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, field_validator
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Annotated, Self
23
24
 
24
25
  from stackit.alb.models.http_health_checks import HttpHealthChecks
@@ -66,6 +67,9 @@ class ActiveHealthCheck(BaseModel):
66
67
  if value is None:
67
68
  return value
68
69
 
70
+ if not isinstance(value, str):
71
+ value = str(value)
72
+
69
73
  if not re.match(r"^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$", value):
70
74
  raise ValueError(r"must validate the regular expression /^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/")
71
75
  return value
@@ -76,6 +80,9 @@ class ActiveHealthCheck(BaseModel):
76
80
  if value is None:
77
81
  return value
78
82
 
83
+ if not isinstance(value, str):
84
+ value = str(value)
85
+
79
86
  if not re.match(r"^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$", value):
80
87
  raise ValueError(r"must validate the regular expression /^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/")
81
88
  return value
@@ -86,12 +93,16 @@ class ActiveHealthCheck(BaseModel):
86
93
  if value is None:
87
94
  return value
88
95
 
96
+ if not isinstance(value, str):
97
+ value = str(value)
98
+
89
99
  if not re.match(r"^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$", value):
90
100
  raise ValueError(r"must validate the regular expression /^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/")
91
101
  return value
92
102
 
93
103
  model_config = ConfigDict(
94
- populate_by_name=True,
104
+ validate_by_name=True,
105
+ validate_by_alias=True,
95
106
  validate_assignment=True,
96
107
  protected_namespaces=(),
97
108
  )
@@ -102,8 +113,7 @@ class ActiveHealthCheck(BaseModel):
102
113
 
103
114
  def to_json(self) -> str:
104
115
  """Returns the JSON representation of the model using alias"""
105
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
106
- return json.dumps(self.to_dict())
116
+ return json.dumps(to_jsonable_python(self.to_dict()))
107
117
 
108
118
  @classmethod
109
119
  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
 
@@ -32,7 +33,8 @@ class CertificateConfig(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["certificateIds"]
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 CertificateConfig(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]:
@@ -19,6 +19,7 @@ import re # noqa: F401
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Annotated, Self
23
24
 
24
25
 
@@ -40,12 +41,16 @@ class CookiePersistence(BaseModel):
40
41
  if value is None:
41
42
  return value
42
43
 
44
+ if not isinstance(value, str):
45
+ value = str(value)
46
+
43
47
  if not re.match(r"^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$", value):
44
48
  raise ValueError(r"must validate the regular expression /^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/")
45
49
  return value
46
50
 
47
51
  model_config = ConfigDict(
48
- populate_by_name=True,
52
+ validate_by_name=True,
53
+ validate_by_alias=True,
49
54
  validate_assignment=True,
50
55
  protected_namespaces=(),
51
56
  )
@@ -56,8 +61,7 @@ class CookiePersistence(BaseModel):
56
61
 
57
62
  def to_json(self) -> str:
58
63
  """Returns the JSON representation of the model using alias"""
59
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
60
- return json.dumps(self.to_dict())
64
+ return json.dumps(to_jsonable_python(self.to_dict()))
61
65
 
62
66
  @classmethod
63
67
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -19,6 +19,7 @@ import re # noqa: F401
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Annotated, Self
23
24
 
24
25
 
@@ -46,12 +47,16 @@ class CreateCredentialsPayload(BaseModel):
46
47
  if value is None:
47
48
  return value
48
49
 
50
+ if not isinstance(value, str):
51
+ value = str(value)
52
+
49
53
  if not re.match(r"^[0-9a-z](?:(?:[0-9a-z]|-){0,251}[0-9a-z])?$", value):
50
54
  raise ValueError(r"must validate the regular expression /^[0-9a-z](?:(?:[0-9a-z]|-){0,251}[0-9a-z])?$/")
51
55
  return value
52
56
 
53
57
  model_config = ConfigDict(
54
- populate_by_name=True,
58
+ validate_by_name=True,
59
+ validate_by_alias=True,
55
60
  validate_assignment=True,
56
61
  protected_namespaces=(),
57
62
  )
@@ -62,8 +67,7 @@ class CreateCredentialsPayload(BaseModel):
62
67
 
63
68
  def to_json(self) -> str:
64
69
  """Returns the JSON representation of the model using alias"""
65
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
66
- return json.dumps(self.to_dict())
70
+ return json.dumps(to_jsonable_python(self.to_dict()))
67
71
 
68
72
  @classmethod
69
73
  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.alb.models.credentials_response import CredentialsResponse
@@ -32,7 +33,8 @@ class CreateCredentialsResponse(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["credential"]
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 CreateCredentialsResponse(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]:
@@ -26,6 +26,7 @@ from pydantic import (
26
26
  StrictStr,
27
27
  field_validator,
28
28
  )
29
+ from pydantic_core import to_jsonable_python
29
30
  from typing_extensions import Annotated, Self
30
31
 
31
32
  from stackit.alb.models.listener import Listener
@@ -123,6 +124,9 @@ class CreateLoadBalancerPayload(BaseModel):
123
124
  if value is None:
124
125
  return value
125
126
 
127
+ if not isinstance(value, str):
128
+ value = str(value)
129
+
126
130
  if not re.match(r"^[0-9a-z](?:(?:[0-9a-z]|-){0,61}[0-9a-z])?$", value):
127
131
  raise ValueError(r"must validate the regular expression /^[0-9a-z](?:(?:[0-9a-z]|-){0,61}[0-9a-z])?$/")
128
132
  return value
@@ -142,7 +146,8 @@ class CreateLoadBalancerPayload(BaseModel):
142
146
  return value
143
147
 
144
148
  model_config = ConfigDict(
145
- populate_by_name=True,
149
+ validate_by_name=True,
150
+ validate_by_alias=True,
146
151
  validate_assignment=True,
147
152
  protected_namespaces=(),
148
153
  )
@@ -153,8 +158,7 @@ class CreateLoadBalancerPayload(BaseModel):
153
158
 
154
159
  def to_json(self) -> str:
155
160
  """Returns the JSON representation of the model using alias"""
156
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
157
- return json.dumps(self.to_dict())
161
+ return json.dumps(to_jsonable_python(self.to_dict()))
158
162
 
159
163
  @classmethod
160
164
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -19,6 +19,7 @@ import re # noqa: F401
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Annotated, Self
23
24
 
24
25
 
@@ -47,12 +48,16 @@ class CredentialsResponse(BaseModel):
47
48
  if value is None:
48
49
  return value
49
50
 
51
+ if not isinstance(value, str):
52
+ value = str(value)
53
+
50
54
  if not re.match(r"^[0-9a-z](?:(?:[0-9a-z]|-){0,61}[0-9a-z])?$", value):
51
55
  raise ValueError(r"must validate the regular expression /^[0-9a-z](?:(?:[0-9a-z]|-){0,61}[0-9a-z])?$/")
52
56
  return value
53
57
 
54
58
  model_config = ConfigDict(
55
- populate_by_name=True,
59
+ validate_by_name=True,
60
+ validate_by_alias=True,
56
61
  validate_assignment=True,
57
62
  protected_namespaces=(),
58
63
  )
@@ -63,8 +68,7 @@ class CredentialsResponse(BaseModel):
63
68
 
64
69
  def to_json(self) -> str:
65
70
  """Returns the JSON representation of the model using alias"""
66
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
67
- return json.dumps(self.to_dict())
71
+ return json.dumps(to_jsonable_python(self.to_dict()))
68
72
 
69
73
  @classmethod
70
74
  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.alb.models.credentials_response import CredentialsResponse
@@ -32,7 +33,8 @@ class GetCredentialsResponse(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["credential"]
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 GetCredentialsResponse(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 typing import Any, ClassVar, Dict, List, Optional, Set
20
20
  from uuid import UUID
21
21
 
22
22
  from pydantic import BaseModel, ConfigDict, Field, field_validator
23
+ from pydantic_core import to_jsonable_python
23
24
  from typing_extensions import Annotated, Self
24
25
 
25
26
 
@@ -65,6 +66,9 @@ class GetQuotaResponse(BaseModel):
65
66
  if value is None:
66
67
  return value
67
68
 
69
+ if not isinstance(value, str):
70
+ value = str(value)
71
+
68
72
  if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", value):
69
73
  raise ValueError(
70
74
  r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/"
@@ -77,12 +81,16 @@ class GetQuotaResponse(BaseModel):
77
81
  if value is None:
78
82
  return value
79
83
 
84
+ if not isinstance(value, str):
85
+ value = str(value)
86
+
80
87
  if not re.match(r"^[a-z]{2,4}[0-9]{2}$", value):
81
88
  raise ValueError(r"must validate the regular expression /^[a-z]{2,4}[0-9]{2}$/")
82
89
  return value
83
90
 
84
91
  model_config = ConfigDict(
85
- populate_by_name=True,
92
+ validate_by_name=True,
93
+ validate_by_alias=True,
86
94
  validate_assignment=True,
87
95
  protected_namespaces=(),
88
96
  )
@@ -93,8 +101,7 @@ class GetQuotaResponse(BaseModel):
93
101
 
94
102
  def to_json(self) -> str:
95
103
  """Returns the JSON representation of the model using alias"""
96
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
97
- return json.dumps(self.to_dict())
104
+ return json.dumps(to_jsonable_python(self.to_dict()))
98
105
 
99
106
  @classmethod
100
107
  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 GoogleProtobufAny(BaseModel):
31
32
  __properties: ClassVar[List[str]] = ["@type"]
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 GoogleProtobufAny(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]:
@@ -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.alb.models.rule import Rule
@@ -37,7 +38,8 @@ class HostConfig(BaseModel):
37
38
  __properties: ClassVar[List[str]] = ["host", "rules"]
38
39
 
39
40
  model_config = ConfigDict(
40
- populate_by_name=True,
41
+ validate_by_name=True,
42
+ validate_by_alias=True,
41
43
  validate_assignment=True,
42
44
  protected_namespaces=(),
43
45
  )
@@ -48,8 +50,7 @@ class HostConfig(BaseModel):
48
50
 
49
51
  def to_json(self) -> str:
50
52
  """Returns the JSON representation of the model using alias"""
51
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
- return json.dumps(self.to_dict())
53
+ return json.dumps(to_jsonable_python(self.to_dict()))
53
54
 
54
55
  @classmethod
55
56
  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
 
@@ -33,7 +34,8 @@ class HttpHeader(BaseModel):
33
34
  __properties: ClassVar[List[str]] = ["exactMatch", "name"]
34
35
 
35
36
  model_config = ConfigDict(
36
- populate_by_name=True,
37
+ validate_by_name=True,
38
+ validate_by_alias=True,
37
39
  validate_assignment=True,
38
40
  protected_namespaces=(),
39
41
  )
@@ -44,8 +46,7 @@ class HttpHeader(BaseModel):
44
46
 
45
47
  def to_json(self) -> str:
46
48
  """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()))
49
50
 
50
51
  @classmethod
51
52
  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.alb.models.tls_config import TlsConfig
@@ -36,7 +37,8 @@ class HttpHealthChecks(BaseModel):
36
37
  __properties: ClassVar[List[str]] = ["okStatuses", "path", "tls"]
37
38
 
38
39
  model_config = ConfigDict(
39
- populate_by_name=True,
40
+ validate_by_name=True,
41
+ validate_by_alias=True,
40
42
  validate_assignment=True,
41
43
  protected_namespaces=(),
42
44
  )
@@ -47,8 +49,7 @@ class HttpHealthChecks(BaseModel):
47
49
 
48
50
  def to_json(self) -> str:
49
51
  """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()))
52
53
 
53
54
  @classmethod
54
55
  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.alb.models.credentials_response import CredentialsResponse
@@ -32,7 +33,8 @@ class ListCredentialsResponse(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["credentials"]
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 ListCredentialsResponse(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]:
@@ -19,6 +19,7 @@ import re # noqa: F401
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, field_validator
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Annotated, Self
23
24
 
24
25
  from stackit.alb.models.load_balancer import LoadBalancer
@@ -43,12 +44,16 @@ class ListLoadBalancersResponse(BaseModel):
43
44
  if value is None:
44
45
  return value
45
46
 
47
+ if not isinstance(value, str):
48
+ value = str(value)
49
+
46
50
  if not re.match(r"^[0-9a-z](?:(?:[0-9a-z]|-){0,61}[0-9a-z])?$", value):
47
51
  raise ValueError(r"must validate the regular expression /^[0-9a-z](?:(?:[0-9a-z]|-){0,61}[0-9a-z])?$/")
48
52
  return value
49
53
 
50
54
  model_config = ConfigDict(
51
- populate_by_name=True,
55
+ validate_by_name=True,
56
+ validate_by_alias=True,
52
57
  validate_assignment=True,
53
58
  protected_namespaces=(),
54
59
  )
@@ -59,8 +64,7 @@ class ListLoadBalancersResponse(BaseModel):
59
64
 
60
65
  def to_json(self) -> str:
61
66
  """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())
67
+ return json.dumps(to_jsonable_python(self.to_dict()))
64
68
 
65
69
  @classmethod
66
70
  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.alb.models.plan_details import PlanDetails
@@ -34,7 +35,8 @@ class ListPlansResponse(BaseModel):
34
35
  __properties: ClassVar[List[str]] = ["validPlans"]
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 ListPlansResponse(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]: