@@ -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.
352393type 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