Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 1fedb2f

Browse files
scaleway-botLaure-di
andauthoredMay 14, 2025··
feat(key_manager): add filtering and asymmetric algos (scaleway#982)
Co-authored-by: Laure-di <[email protected]>
1 parent ed797cb commit 1fedb2f

File tree

6 files changed

+48
-0
lines changed

6 files changed

+48
-0
lines changed
 

‎scaleway-async/scaleway_async/key_manager/v1alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from .types import KeyOrigin
88
from .types import KeyState
99
from .types import ListKeysRequestOrderBy
10+
from .types import ListKeysRequestUsage
1011
from .types import KeyRotationPolicy
1112
from .types import KeyUsage
1213
from .types import Key
@@ -45,6 +46,7 @@
4546
"KeyOrigin",
4647
"KeyState",
4748
"ListKeysRequestOrderBy",
49+
"ListKeysRequestUsage",
4850
"KeyRotationPolicy",
4951
"KeyUsage",
5052
"Key",

‎scaleway-async/scaleway_async/key_manager/v1alpha1/api.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
DataKeyAlgorithmSymmetricEncryption,
1616
KeyOrigin,
1717
ListKeysRequestOrderBy,
18+
ListKeysRequestUsage,
1819
CreateKeyRequest,
1920
DataKey,
2021
DecryptRequest,
@@ -459,6 +460,7 @@ async def list_keys(
459460
page_size: Optional[int] = None,
460461
tags: Optional[List[str]] = None,
461462
name: Optional[str] = None,
463+
usage: Optional[ListKeysRequestUsage] = None,
462464
) -> ListKeysResponse:
463465
"""
464466
List keys.
@@ -471,6 +473,7 @@ async def list_keys(
471473
:param page_size:
472474
:param tags: (Optional) List of tags to filter on.
473475
:param name: (Optional) Filter by key name.
476+
:param usage: Select from symmetric encryption, asymmetric encryption, or asymmetric signing.
474477
:return: :class:`ListKeysResponse <ListKeysResponse>`
475478
476479
Usage:
@@ -495,6 +498,7 @@ async def list_keys(
495498
"page_size": page_size or self.client.default_page_size,
496499
"project_id": project_id or self.client.default_project_id,
497500
"tags": tags,
501+
"usage": usage,
498502
},
499503
)
500504

@@ -512,6 +516,7 @@ async def list_keys_all(
512516
page_size: Optional[int] = None,
513517
tags: Optional[List[str]] = None,
514518
name: Optional[str] = None,
519+
usage: Optional[ListKeysRequestUsage] = None,
515520
) -> List[Key]:
516521
"""
517522
List keys.
@@ -524,6 +529,7 @@ async def list_keys_all(
524529
:param page_size:
525530
:param tags: (Optional) List of tags to filter on.
526531
:param name: (Optional) Filter by key name.
532+
:param usage: Select from symmetric encryption, asymmetric encryption, or asymmetric signing.
527533
:return: :class:`List[Key] <List[Key]>`
528534
529535
Usage:
@@ -545,6 +551,7 @@ async def list_keys_all(
545551
"page_size": page_size,
546552
"tags": tags,
547553
"name": name,
554+
"usage": usage,
548555
},
549556
)
550557

‎scaleway-async/scaleway_async/key_manager/v1alpha1/types.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,16 @@ def __str__(self) -> str:
8787
return str(self.value)
8888

8989

90+
class ListKeysRequestUsage(str, Enum, metaclass=StrEnumMeta):
91+
UNKNOWN_USAGE = "unknown_usage"
92+
SYMMETRIC_ENCRYPTION = "symmetric_encryption"
93+
ASYMMETRIC_ENCRYPTION = "asymmetric_encryption"
94+
ASYMMETRIC_SIGNING = "asymmetric_signing"
95+
96+
def __str__(self) -> str:
97+
return str(self.value)
98+
99+
90100
@dataclass
91101
class KeyRotationPolicy:
92102
rotation_period: Optional[str]
@@ -503,6 +513,11 @@ class ListKeysRequest:
503513
(Optional) Filter by key name.
504514
"""
505515

516+
usage: Optional[ListKeysRequestUsage]
517+
"""
518+
Select from symmetric encryption, asymmetric encryption, or asymmetric signing.
519+
"""
520+
506521

507522
@dataclass
508523
class ListKeysResponse:

‎scaleway/scaleway/key_manager/v1alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from .types import KeyOrigin
88
from .types import KeyState
99
from .types import ListKeysRequestOrderBy
10+
from .types import ListKeysRequestUsage
1011
from .types import KeyRotationPolicy
1112
from .types import KeyUsage
1213
from .types import Key
@@ -45,6 +46,7 @@
4546
"KeyOrigin",
4647
"KeyState",
4748
"ListKeysRequestOrderBy",
49+
"ListKeysRequestUsage",
4850
"KeyRotationPolicy",
4951
"KeyUsage",
5052
"Key",

‎scaleway/scaleway/key_manager/v1alpha1/api.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
DataKeyAlgorithmSymmetricEncryption,
1616
KeyOrigin,
1717
ListKeysRequestOrderBy,
18+
ListKeysRequestUsage,
1819
CreateKeyRequest,
1920
DataKey,
2021
DecryptRequest,
@@ -459,6 +460,7 @@ def list_keys(
459460
page_size: Optional[int] = None,
460461
tags: Optional[List[str]] = None,
461462
name: Optional[str] = None,
463+
usage: Optional[ListKeysRequestUsage] = None,
462464
) -> ListKeysResponse:
463465
"""
464466
List keys.
@@ -471,6 +473,7 @@ def list_keys(
471473
:param page_size:
472474
:param tags: (Optional) List of tags to filter on.
473475
:param name: (Optional) Filter by key name.
476+
:param usage: Select from symmetric encryption, asymmetric encryption, or asymmetric signing.
474477
:return: :class:`ListKeysResponse <ListKeysResponse>`
475478
476479
Usage:
@@ -495,6 +498,7 @@ def list_keys(
495498
"page_size": page_size or self.client.default_page_size,
496499
"project_id": project_id or self.client.default_project_id,
497500
"tags": tags,
501+
"usage": usage,
498502
},
499503
)
500504

@@ -512,6 +516,7 @@ def list_keys_all(
512516
page_size: Optional[int] = None,
513517
tags: Optional[List[str]] = None,
514518
name: Optional[str] = None,
519+
usage: Optional[ListKeysRequestUsage] = None,
515520
) -> List[Key]:
516521
"""
517522
List keys.
@@ -524,6 +529,7 @@ def list_keys_all(
524529
:param page_size:
525530
:param tags: (Optional) List of tags to filter on.
526531
:param name: (Optional) Filter by key name.
532+
:param usage: Select from symmetric encryption, asymmetric encryption, or asymmetric signing.
527533
:return: :class:`List[Key] <List[Key]>`
528534
529535
Usage:
@@ -545,6 +551,7 @@ def list_keys_all(
545551
"page_size": page_size,
546552
"tags": tags,
547553
"name": name,
554+
"usage": usage,
548555
},
549556
)
550557

‎scaleway/scaleway/key_manager/v1alpha1/types.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,16 @@ def __str__(self) -> str:
8787
return str(self.value)
8888

8989

90+
class ListKeysRequestUsage(str, Enum, metaclass=StrEnumMeta):
91+
UNKNOWN_USAGE = "unknown_usage"
92+
SYMMETRIC_ENCRYPTION = "symmetric_encryption"
93+
ASYMMETRIC_ENCRYPTION = "asymmetric_encryption"
94+
ASYMMETRIC_SIGNING = "asymmetric_signing"
95+
96+
def __str__(self) -> str:
97+
return str(self.value)
98+
99+
90100
@dataclass
91101
class KeyRotationPolicy:
92102
rotation_period: Optional[str]
@@ -503,6 +513,11 @@ class ListKeysRequest:
503513
(Optional) Filter by key name.
504514
"""
505515

516+
usage: Optional[ListKeysRequestUsage]
517+
"""
518+
Select from symmetric encryption, asymmetric encryption, or asymmetric signing.
519+
"""
520+
506521

507522
@dataclass
508523
class ListKeysResponse:

0 commit comments

Comments
 (0)
Please sign in to comment.