From 9601117b918e7b59c2b6dc1ccd6130b8cee9ec14 Mon Sep 17 00:00:00 2001 From: SDK Generator Bot Date: Wed, 26 Aug 2026 12:15:25 +0000 Subject: [PATCH 1/2] Generate kms --- services/kms/oas_commit | 2 +- services/kms/src/stackit/kms/__init__.py | 2 -- .../kms/src/stackit/kms/models/__init__.py | 1 - .../stackit/kms/models/create_key_payload.py | 5 +-- .../kms/models/create_wrapping_key_payload.py | 5 +-- services/kms/src/stackit/kms/models/key.py | 5 +-- .../kms/src/stackit/kms/models/protection.py | 36 ------------------- .../src/stackit/kms/models/wrapping_key.py | 5 +-- 8 files changed, 13 insertions(+), 48 deletions(-) delete mode 100644 services/kms/src/stackit/kms/models/protection.py diff --git a/services/kms/oas_commit b/services/kms/oas_commit index fd8ff3e68..e05d493f3 100644 --- a/services/kms/oas_commit +++ b/services/kms/oas_commit @@ -1 +1 @@ -c09e232a83532c75ca1041153e3ebc7ce2d50eb6 +da4701b7dbe20e984aef89711bb9ba716e19fcba diff --git a/services/kms/src/stackit/kms/__init__.py b/services/kms/src/stackit/kms/__init__.py index c54ea7bc7..8d1c6d0a6 100644 --- a/services/kms/src/stackit/kms/__init__.py +++ b/services/kms/src/stackit/kms/__init__.py @@ -42,7 +42,6 @@ "KeyList", "KeyRing", "KeyRingList", - "Protection", "Purpose", "SignPayload", "SignedData", @@ -90,7 +89,6 @@ from stackit.kms.models.key_list import KeyList as KeyList from stackit.kms.models.key_ring import KeyRing as KeyRing from stackit.kms.models.key_ring_list import KeyRingList as KeyRingList -from stackit.kms.models.protection import Protection as Protection from stackit.kms.models.purpose import Purpose as Purpose from stackit.kms.models.sign_payload import SignPayload as SignPayload from stackit.kms.models.signed_data import SignedData as SignedData diff --git a/services/kms/src/stackit/kms/models/__init__.py b/services/kms/src/stackit/kms/models/__init__.py index d7c60217e..48aea68e3 100644 --- a/services/kms/src/stackit/kms/models/__init__.py +++ b/services/kms/src/stackit/kms/models/__init__.py @@ -28,7 +28,6 @@ from stackit.kms.models.key_list import KeyList from stackit.kms.models.key_ring import KeyRing from stackit.kms.models.key_ring_list import KeyRingList -from stackit.kms.models.protection import Protection from stackit.kms.models.purpose import Purpose from stackit.kms.models.sign_payload import SignPayload from stackit.kms.models.signed_data import SignedData diff --git a/services/kms/src/stackit/kms/models/create_key_payload.py b/services/kms/src/stackit/kms/models/create_key_payload.py index 5d70c2347..d77272c63 100644 --- a/services/kms/src/stackit/kms/models/create_key_payload.py +++ b/services/kms/src/stackit/kms/models/create_key_payload.py @@ -31,7 +31,6 @@ from stackit.kms.models.access_scope import AccessScope from stackit.kms.models.algorithm import Algorithm -from stackit.kms.models.protection import Protection from stackit.kms.models.purpose import Purpose @@ -52,7 +51,9 @@ class CreateKeyPayload(BaseModel): import_only: Optional[StrictBool] = Field( default=False, description="States whether versions can be created or only imported.", alias="importOnly" ) - protection: Protection + protection: StrictStr = Field( + description='The underlying system that is responsible for protecting the key material. Possible values are "software" or "hsm"' + ) purpose: Purpose __properties: ClassVar[List[str]] = [ "access_scope", diff --git a/services/kms/src/stackit/kms/models/create_wrapping_key_payload.py b/services/kms/src/stackit/kms/models/create_wrapping_key_payload.py index f4a9bf754..b7c069f2b 100644 --- a/services/kms/src/stackit/kms/models/create_wrapping_key_payload.py +++ b/services/kms/src/stackit/kms/models/create_wrapping_key_payload.py @@ -23,7 +23,6 @@ from typing_extensions import Annotated, Self from stackit.kms.models.access_scope import AccessScope -from stackit.kms.models.protection import Protection from stackit.kms.models.wrapping_algorithm import WrappingAlgorithm from stackit.kms.models.wrapping_purpose import WrappingPurpose @@ -42,7 +41,9 @@ class CreateWrappingKeyPayload(BaseModel): description="The display name to distinguish multiple wrapping keys. Valid characters: letters, digits, underscores and hyphens.", alias="displayName", ) - protection: Protection + protection: StrictStr = Field( + description='The underlying system that is responsible for protecting the key material. Possible values are "software" or "hsm"' + ) purpose: WrappingPurpose __properties: ClassVar[List[str]] = [ "access_scope", diff --git a/services/kms/src/stackit/kms/models/key.py b/services/kms/src/stackit/kms/models/key.py index 88c2b83e1..c77a9864d 100644 --- a/services/kms/src/stackit/kms/models/key.py +++ b/services/kms/src/stackit/kms/models/key.py @@ -33,7 +33,6 @@ from stackit.kms.models.access_scope import AccessScope from stackit.kms.models.algorithm import Algorithm -from stackit.kms.models.protection import Protection from stackit.kms.models.purpose import Purpose @@ -63,7 +62,9 @@ class Key(BaseModel): description="States whether versions can be created or only imported.", alias="importOnly" ) key_ring_id: UUID = Field(description="The unique id of the key ring this key is assigned to.", alias="keyRingId") - protection: Protection + protection: StrictStr = Field( + description='The underlying system that is responsible for protecting the key material. Possible values are "software" or "hsm"' + ) purpose: Purpose state: StrictStr = Field(description="The current state of the key.") __properties: ClassVar[List[str]] = [ diff --git a/services/kms/src/stackit/kms/models/protection.py b/services/kms/src/stackit/kms/models/protection.py deleted file mode 100644 index 8c2299335..000000000 --- a/services/kms/src/stackit/kms/models/protection.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding: utf-8 - -""" -STACKIT Key Management Service API - -This API provides endpoints for managing keys and key rings. - -The version of the OpenAPI document: 1.0.0 -Generated by OpenAPI Generator (https://openapi-generator.tech) - -Do not edit the class manually. -""" # noqa: E501 - -from __future__ import annotations - -import json -from enum import Enum - -from typing_extensions import Self - - -class Protection(str, Enum): - """ - The underlying system that is responsible for protecting the key material. (\"hsm\" is a private preview feature). - """ - - """ - allowed enum values - """ - SOFTWARE = "software" - HSM = "hsm" - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of Protection from a JSON string""" - return cls(json.loads(json_str)) diff --git a/services/kms/src/stackit/kms/models/wrapping_key.py b/services/kms/src/stackit/kms/models/wrapping_key.py index 2e6cb8e9c..b5daf930a 100644 --- a/services/kms/src/stackit/kms/models/wrapping_key.py +++ b/services/kms/src/stackit/kms/models/wrapping_key.py @@ -25,7 +25,6 @@ from typing_extensions import Annotated, Self from stackit.kms.models.access_scope import AccessScope -from stackit.kms.models.protection import Protection from stackit.kms.models.wrapping_algorithm import WrappingAlgorithm from stackit.kms.models.wrapping_purpose import WrappingPurpose @@ -51,7 +50,9 @@ class WrappingKey(BaseModel): key_ring_id: UUID = Field( description="The unique id of the key ring this wrapping key is assigned to.", alias="keyRingId" ) - protection: Protection + protection: StrictStr = Field( + description='The underlying system that is responsible for protecting the key material. Possible values are "software" or "hsm"' + ) public_key: Optional[StrictStr] = Field( default=None, description="The public key of the wrapping key.", alias="publicKey" ) From 706383b75e131f97b305450d1121c141213b97ca Mon Sep 17 00:00:00 2001 From: Alexander Dahmen Date: Thu, 27 Aug 2026 11:59:48 +0200 Subject: [PATCH 2/2] chore(kms): Add changelog Signed-off-by: Alexander Dahmen --- CHANGELOG.md | 7 +++++++ services/kms/CHANGELOG.md | 4 ++++ services/kms/pyproject.toml | 2 +- services/kms/uv.lock | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1df58df67..6979007c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## Release (2026-MM-DD) + +- `kms`: + - [v0.13.0](services/kms/CHANGELOG.md#v0130) + - **Breaking Change:** Remove enum `Protection` + - **Breaking Change:** Change type of `protection` attribute from `Protection` to `str` in `CreateKeyPayload`, `CreateWrappingKeyPayload`, `Key` and `WrappingKey` model + ## Release (2026-08-25) - `core`: diff --git a/services/kms/CHANGELOG.md b/services/kms/CHANGELOG.md index dd0fd5b92..3402ce0d7 100644 --- a/services/kms/CHANGELOG.md +++ b/services/kms/CHANGELOG.md @@ -1,3 +1,7 @@ +## v0.13.0 +- **Breaking Change:** Remove enum `Protection` +- **Breaking Change:** Change type of `protection` attribute from `Protection` to `str` in `CreateKeyPayload`, `CreateWrappingKeyPayload`, `Key` and `WrappingKey` model + ## v0.12.0 - **Feature:** Add `HSM` as allowed value to `Protection` class. diff --git a/services/kms/pyproject.toml b/services/kms/pyproject.toml index 5cef5c892..b6952d18d 100644 --- a/services/kms/pyproject.toml +++ b/services/kms/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "stackit-kms" -version = "v0.12.0" +version = "v0.13.0" description = "STACKIT Key Management Service API" authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }] requires-python = ">=3.10,<4.0" diff --git a/services/kms/uv.lock b/services/kms/uv.lock index a40c76555..e8aa1fc98 100644 --- a/services/kms/uv.lock +++ b/services/kms/uv.lock @@ -1057,7 +1057,7 @@ dev = [ [[package]] name = "stackit-kms" -version = "0.12.0" +version = "0.13.0" source = { editable = "." } dependencies = [ { name = "pydantic" },