Skip to content

Commit f36c46b

Browse files
authored
feat(key_manager): add filtering and asymmetric algos (scaleway#2554)
1 parent b0f9021 commit f36c46b

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

api/key_manager/v1alpha1/key_manager_sdk.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,47 @@ func (enum *ListKeysRequestOrderBy) UnmarshalJSON(data []byte) error {
348348
return nil
349349
}
350350

351+
type ListKeysRequestUsage string
352+
353+
const (
354+
ListKeysRequestUsageUnknownUsage = ListKeysRequestUsage("unknown_usage")
355+
ListKeysRequestUsageSymmetricEncryption = ListKeysRequestUsage("symmetric_encryption")
356+
ListKeysRequestUsageAsymmetricEncryption = ListKeysRequestUsage("asymmetric_encryption")
357+
ListKeysRequestUsageAsymmetricSigning = ListKeysRequestUsage("asymmetric_signing")
358+
)
359+
360+
func (enum ListKeysRequestUsage) String() string {
361+
if enum == "" {
362+
// return default value if empty
363+
return string(ListKeysRequestUsageUnknownUsage)
364+
}
365+
return string(enum)
366+
}
367+
368+
func (enum ListKeysRequestUsage) Values() []ListKeysRequestUsage {
369+
return []ListKeysRequestUsage{
370+
"unknown_usage",
371+
"symmetric_encryption",
372+
"asymmetric_encryption",
373+
"asymmetric_signing",
374+
}
375+
}
376+
377+
func (enum ListKeysRequestUsage) MarshalJSON() ([]byte, error) {
378+
return []byte(fmt.Sprintf(`"%s"`, enum)), nil
379+
}
380+
381+
func (enum *ListKeysRequestUsage) UnmarshalJSON(data []byte) error {
382+
tmp := ""
383+
384+
if err := json.Unmarshal(data, &tmp); err != nil {
385+
return err
386+
}
387+
388+
*enum = ListKeysRequestUsage(ListKeysRequestUsage(tmp).String())
389+
return nil
390+
}
391+
351392
// KeyRotationPolicy: key rotation policy.
352393
type KeyRotationPolicy struct {
353394
// RotationPeriod: time interval between two key rotations. The minimum duration is 24 hours and the maximum duration is 1 year (876000 hours).
@@ -636,6 +677,10 @@ type ListKeysRequest struct {
636677

637678
// Name: (Optional) Filter by key name.
638679
Name *string `json:"-"`
680+
681+
// Usage: select from symmetric encryption, asymmetric encryption, or asymmetric signing.
682+
// Default value: unknown_usage
683+
Usage ListKeysRequestUsage `json:"-"`
639684
}
640685

641686
// ListKeysResponse: list keys response.
@@ -1146,6 +1191,7 @@ func (s *API) ListKeys(req *ListKeysRequest, opts ...scw.RequestOption) (*ListKe
11461191
parameter.AddToQuery(query, "page_size", req.PageSize)
11471192
parameter.AddToQuery(query, "tags", req.Tags)
11481193
parameter.AddToQuery(query, "name", req.Name)
1194+
parameter.AddToQuery(query, "usage", req.Usage)
11491195

11501196
if fmt.Sprint(req.Region) == "" {
11511197
return nil, errors.New("field Region cannot be empty in request")

0 commit comments

Comments
 (0)