stackit-kms 0.8.1__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 (43) hide show
  1. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/PKG-INFO +1 -1
  2. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/pyproject.toml +1 -1
  3. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/api_client.py +15 -17
  4. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/create_key_payload.py +7 -3
  5. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/create_key_ring_payload.py +7 -3
  6. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/create_wrapping_key_payload.py +7 -3
  7. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/decrypt_payload.py +4 -3
  8. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/decrypted_data.py +4 -3
  9. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/encrypt_payload.py +4 -3
  10. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/encrypted_data.py +4 -3
  11. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/http_error.py +4 -3
  12. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/import_key_payload.py +4 -3
  13. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/key.py +4 -3
  14. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/key_list.py +4 -3
  15. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/key_ring.py +4 -3
  16. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/key_ring_list.py +4 -3
  17. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/sign_payload.py +4 -3
  18. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/signed_data.py +4 -3
  19. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/verified_data.py +4 -3
  20. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/verify_payload.py +4 -3
  21. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/version.py +4 -3
  22. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/version_list.py +4 -3
  23. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/wrapping_key.py +7 -4
  24. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/wrapping_key_list.py +4 -3
  25. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/.gitignore +0 -0
  26. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/LICENSE.md +0 -0
  27. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/NOTICE.txt +0 -0
  28. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/README.md +0 -0
  29. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/__init__.py +0 -0
  30. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/api/__init__.py +0 -0
  31. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/api/default_api.py +0 -0
  32. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/api_response.py +0 -0
  33. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/configuration.py +0 -0
  34. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/exceptions.py +0 -0
  35. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/__init__.py +0 -0
  36. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/access_scope.py +0 -0
  37. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/algorithm.py +0 -0
  38. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/protection.py +0 -0
  39. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/purpose.py +0 -0
  40. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/wrapping_algorithm.py +0 -0
  41. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/models/wrapping_purpose.py +0 -0
  42. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/py.typed +0 -0
  43. {stackit_kms-0.8.1 → stackit_kms-0.10.0}/src/stackit/kms/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stackit-kms
3
- Version: 0.8.1
3
+ Version: 0.10.0
4
4
  Summary: STACKIT Key Management Service 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-kms"
3
- version = "v0.8.1"
3
+ version = "v0.10.0"
4
4
  description = "STACKIT Key Management Service 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:
@@ -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.kms.models.access_scope import AccessScope
@@ -66,12 +67,16 @@ class CreateKeyPayload(BaseModel):
66
67
  @field_validator("display_name")
67
68
  def display_name_validate_regular_expression(cls, value):
68
69
  """Validates the regular expression"""
70
+ if not isinstance(value, str):
71
+ value = str(value)
72
+
69
73
  if not re.match(r"^[a-zA-Z0-9_-]+$", value):
70
74
  raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9_-]+$/")
71
75
  return value
72
76
 
73
77
  model_config = ConfigDict(
74
- populate_by_name=True,
78
+ validate_by_name=True,
79
+ validate_by_alias=True,
75
80
  validate_assignment=True,
76
81
  protected_namespaces=(),
77
82
  )
@@ -82,8 +87,7 @@ class CreateKeyPayload(BaseModel):
82
87
 
83
88
  def to_json(self) -> str:
84
89
  """Returns the JSON representation of the model using alias"""
85
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
86
- return json.dumps(self.to_dict())
90
+ return json.dumps(to_jsonable_python(self.to_dict()))
87
91
 
88
92
  @classmethod
89
93
  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
 
@@ -39,12 +40,16 @@ class CreateKeyRingPayload(BaseModel):
39
40
  @field_validator("display_name")
40
41
  def display_name_validate_regular_expression(cls, value):
41
42
  """Validates the regular expression"""
43
+ if not isinstance(value, str):
44
+ value = str(value)
45
+
42
46
  if not re.match(r"^[a-zA-Z0-9_-]+$", value):
43
47
  raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9_-]+$/")
44
48
  return value
45
49
 
46
50
  model_config = ConfigDict(
47
- populate_by_name=True,
51
+ validate_by_name=True,
52
+ validate_by_alias=True,
48
53
  validate_assignment=True,
49
54
  protected_namespaces=(),
50
55
  )
@@ -55,8 +60,7 @@ class CreateKeyRingPayload(BaseModel):
55
60
 
56
61
  def to_json(self) -> str:
57
62
  """Returns the JSON representation of the model using alias"""
58
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
59
- return json.dumps(self.to_dict())
63
+ return json.dumps(to_jsonable_python(self.to_dict()))
60
64
 
61
65
  @classmethod
62
66
  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
  from stackit.kms.models.access_scope import AccessScope
@@ -55,12 +56,16 @@ class CreateWrappingKeyPayload(BaseModel):
55
56
  @field_validator("display_name")
56
57
  def display_name_validate_regular_expression(cls, value):
57
58
  """Validates the regular expression"""
59
+ if not isinstance(value, str):
60
+ value = str(value)
61
+
58
62
  if not re.match(r"^[a-zA-Z0-9_-]+$", value):
59
63
  raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9_-]+$/")
60
64
  return value
61
65
 
62
66
  model_config = ConfigDict(
63
- populate_by_name=True,
67
+ validate_by_name=True,
68
+ validate_by_alias=True,
64
69
  validate_assignment=True,
65
70
  protected_namespaces=(),
66
71
  )
@@ -71,8 +76,7 @@ class CreateWrappingKeyPayload(BaseModel):
71
76
 
72
77
  def to_json(self) -> str:
73
78
  """Returns the JSON representation of the model using alias"""
74
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
75
- return json.dumps(self.to_dict())
79
+ return json.dumps(to_jsonable_python(self.to_dict()))
76
80
 
77
81
  @classmethod
78
82
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBytes,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Self
28
29
 
29
30
 
@@ -36,7 +37,8 @@ class DecryptPayload(BaseModel):
36
37
  __properties: ClassVar[List[str]] = ["data"]
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 DecryptPayload(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]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBytes,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Self
28
29
 
29
30
 
@@ -36,7 +37,8 @@ class DecryptedData(BaseModel):
36
37
  __properties: ClassVar[List[str]] = ["data"]
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 DecryptedData(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]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBytes,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Self
28
29
 
29
30
 
@@ -36,7 +37,8 @@ class EncryptPayload(BaseModel):
36
37
  __properties: ClassVar[List[str]] = ["data"]
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 EncryptPayload(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]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBytes,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Self
28
29
 
29
30
 
@@ -36,7 +37,8 @@ class EncryptedData(BaseModel):
36
37
  __properties: ClassVar[List[str]] = ["data"]
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 EncryptedData(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, Field, StrictStr
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
 
@@ -30,7 +31,8 @@ class HttpError(BaseModel):
30
31
  __properties: ClassVar[List[str]] = ["message"]
31
32
 
32
33
  model_config = ConfigDict(
33
- populate_by_name=True,
34
+ validate_by_name=True,
35
+ validate_by_alias=True,
34
36
  validate_assignment=True,
35
37
  protected_namespaces=(),
36
38
  )
@@ -41,8 +43,7 @@ class HttpError(BaseModel):
41
43
 
42
44
  def to_json(self) -> str:
43
45
  """Returns the JSON representation of the model using alias"""
44
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
45
- return json.dumps(self.to_dict())
46
+ return json.dumps(to_jsonable_python(self.to_dict()))
46
47
 
47
48
  @classmethod
48
49
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -19,6 +19,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
19
19
  from uuid import UUID
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
+ from pydantic_core import to_jsonable_python
22
23
  from typing_extensions import Self
23
24
 
24
25
 
@@ -36,7 +37,8 @@ class ImportKeyPayload(BaseModel):
36
37
  __properties: ClassVar[List[str]] = ["wrappedKey", "wrappingKeyId"]
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 ImportKeyPayload(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]:
@@ -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.kms.models.access_scope import AccessScope
@@ -116,7 +117,8 @@ class Key(BaseModel):
116
117
  return value
117
118
 
118
119
  model_config = ConfigDict(
119
- populate_by_name=True,
120
+ validate_by_name=True,
121
+ validate_by_alias=True,
120
122
  validate_assignment=True,
121
123
  protected_namespaces=(),
122
124
  )
@@ -127,8 +129,7 @@ class Key(BaseModel):
127
129
 
128
130
  def to_json(self) -> str:
129
131
  """Returns the JSON representation of the model using alias"""
130
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
131
- return json.dumps(self.to_dict())
132
+ return json.dumps(to_jsonable_python(self.to_dict()))
132
133
 
133
134
  @classmethod
134
135
  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.kms.models.key import Key
@@ -32,7 +33,8 @@ class KeyList(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["keys"]
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 KeyList(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]:
@@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
  from uuid import UUID
22
22
 
23
23
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
24
+ from pydantic_core import to_jsonable_python
24
25
  from typing_extensions import Annotated, Self
25
26
 
26
27
 
@@ -63,7 +64,8 @@ class KeyRing(BaseModel):
63
64
  return value
64
65
 
65
66
  model_config = ConfigDict(
66
- populate_by_name=True,
67
+ validate_by_name=True,
68
+ validate_by_alias=True,
67
69
  validate_assignment=True,
68
70
  protected_namespaces=(),
69
71
  )
@@ -74,8 +76,7 @@ class KeyRing(BaseModel):
74
76
 
75
77
  def to_json(self) -> str:
76
78
  """Returns the JSON representation of the model using alias"""
77
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
78
- return json.dumps(self.to_dict())
79
+ return json.dumps(to_jsonable_python(self.to_dict()))
79
80
 
80
81
  @classmethod
81
82
  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.kms.models.key_ring import KeyRing
@@ -32,7 +33,8 @@ class KeyRingList(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["keyRings"]
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 KeyRingList(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]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBytes,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Self
28
29
 
29
30
 
@@ -36,7 +37,8 @@ class SignPayload(BaseModel):
36
37
  __properties: ClassVar[List[str]] = ["data"]
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 SignPayload(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]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBytes,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Self
28
29
 
29
30
 
@@ -37,7 +38,8 @@ class SignedData(BaseModel):
37
38
  __properties: ClassVar[List[str]] = ["data", "signature"]
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 SignedData(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, StrictBool
21
+ from pydantic_core import to_jsonable_python
21
22
  from typing_extensions import Self
22
23
 
23
24
 
@@ -30,7 +31,8 @@ class VerifiedData(BaseModel):
30
31
  __properties: ClassVar[List[str]] = ["valid"]
31
32
 
32
33
  model_config = ConfigDict(
33
- populate_by_name=True,
34
+ validate_by_name=True,
35
+ validate_by_alias=True,
34
36
  validate_assignment=True,
35
37
  protected_namespaces=(),
36
38
  )
@@ -41,8 +43,7 @@ class VerifiedData(BaseModel):
41
43
 
42
44
  def to_json(self) -> str:
43
45
  """Returns the JSON representation of the model using alias"""
44
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
45
- return json.dumps(self.to_dict())
46
+ return json.dumps(to_jsonable_python(self.to_dict()))
46
47
 
47
48
  @classmethod
48
49
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -24,6 +24,7 @@ from pydantic import (
24
24
  StrictBytes,
25
25
  StrictStr,
26
26
  )
27
+ from pydantic_core import to_jsonable_python
27
28
  from typing_extensions import Self
28
29
 
29
30
 
@@ -37,7 +38,8 @@ class VerifyPayload(BaseModel):
37
38
  __properties: ClassVar[List[str]] = ["data", "signature"]
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 VerifyPayload(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]:
@@ -29,6 +29,7 @@ from pydantic import (
29
29
  StrictStr,
30
30
  field_validator,
31
31
  )
32
+ from pydantic_core import to_jsonable_python
32
33
  from typing_extensions import Self
33
34
 
34
35
 
@@ -106,7 +107,8 @@ class Version(BaseModel):
106
107
  return value
107
108
 
108
109
  model_config = ConfigDict(
109
- populate_by_name=True,
110
+ validate_by_name=True,
111
+ validate_by_alias=True,
110
112
  validate_assignment=True,
111
113
  protected_namespaces=(),
112
114
  )
@@ -117,8 +119,7 @@ class Version(BaseModel):
117
119
 
118
120
  def to_json(self) -> str:
119
121
  """Returns the JSON representation of the model using alias"""
120
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
121
- return json.dumps(self.to_dict())
122
+ return json.dumps(to_jsonable_python(self.to_dict()))
122
123
 
123
124
  @classmethod
124
125
  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.kms.models.version import Version
@@ -32,7 +33,8 @@ class VersionList(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["versions"]
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 VersionList(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]:
@@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Set
21
21
  from uuid import UUID
22
22
 
23
23
  from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
24
+ from pydantic_core import to_jsonable_python
24
25
  from typing_extensions import Annotated, Self
25
26
 
26
27
  from stackit.kms.models.access_scope import AccessScope
@@ -51,7 +52,9 @@ class WrappingKey(BaseModel):
51
52
  description="The unique id of the key ring this wrapping key is assigned to.", alias="keyRingId"
52
53
  )
53
54
  protection: Protection
54
- public_key: StrictStr = Field(description="The public key of the wrapping key.", alias="publicKey")
55
+ public_key: Optional[StrictStr] = Field(
56
+ default=None, description="The public key of the wrapping key.", alias="publicKey"
57
+ )
55
58
  purpose: WrappingPurpose
56
59
  state: StrictStr = Field(description="The current state of the wrapping key.")
57
60
  __properties: ClassVar[List[str]] = [
@@ -105,7 +108,8 @@ class WrappingKey(BaseModel):
105
108
  return value
106
109
 
107
110
  model_config = ConfigDict(
108
- populate_by_name=True,
111
+ validate_by_name=True,
112
+ validate_by_alias=True,
109
113
  validate_assignment=True,
110
114
  protected_namespaces=(),
111
115
  )
@@ -116,8 +120,7 @@ class WrappingKey(BaseModel):
116
120
 
117
121
  def to_json(self) -> str:
118
122
  """Returns the JSON representation of the model using alias"""
119
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
120
- return json.dumps(self.to_dict())
123
+ return json.dumps(to_jsonable_python(self.to_dict()))
121
124
 
122
125
  @classmethod
123
126
  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.kms.models.wrapping_key import WrappingKey
@@ -32,7 +33,8 @@ class WrappingKeyList(BaseModel):
32
33
  __properties: ClassVar[List[str]] = ["wrappingKeys"]
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 WrappingKeyList(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]:
File without changes
File without changes
File without changes
File without changes