Skip to content

Commit f2bae55

Browse files
authored
feat(key_manager): add key scheduled deletion and restoration (#4836)
1 parent 075707f commit f2bae55

File tree

5 files changed

+20
-11
lines changed

5 files changed

+20
-11
lines changed

cmd/scw/testdata/test-all-usage-keymanager-key-list-usage.golden

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ USAGE:
66
scw keymanager key list [arg=value ...]
77

88
ARGS:
9-
[project-id] (Optional) Filter by Project ID
10-
[order-by] (name_asc | name_desc | created_at_asc | created_at_desc | updated_at_asc | updated_at_desc)
11-
[tags.{index}] (Optional) List of tags to filter on
12-
[name] (Optional) Filter by key name
13-
[usage] (Optional) Filter keys by usage. (unknown_usage | symmetric_encryption | asymmetric_encryption | asymmetric_signing)
14-
[organization-id] (Optional) Filter by Organization ID
15-
[region=fr-par] Region to target. If none is passed will use default region from the config (fr-par | nl-ams | pl-waw | all)
9+
[project-id] (Optional) Filter by Project ID
10+
[order-by] (name_asc | name_desc | created_at_asc | created_at_desc | updated_at_asc | updated_at_desc)
11+
[tags.{index}] (Optional) List of tags to filter on
12+
[name] (Optional) Filter by key name
13+
[usage] (Optional) Filter keys by usage. (unknown_usage | symmetric_encryption | asymmetric_encryption | asymmetric_signing)
14+
[scheduled-for-deletion] Filter keys based on their deletion status. By default, only keys not scheduled for deletion are returned in the output.
15+
[organization-id] (Optional) Filter by Organization ID
16+
[region=fr-par] Region to target. If none is passed will use default region from the config (fr-par | nl-ams | pl-waw | all)
1617

1718
FLAGS:
1819
-h, --help help for list

docs/commands/keymanager.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ scw keymanager key list [arg=value ...]
265265
| tags.{index} | | (Optional) List of tags to filter on |
266266
| name | | (Optional) Filter by key name |
267267
| usage | One of: `unknown_usage`, `symmetric_encryption`, `asymmetric_encryption`, `asymmetric_signing` | (Optional) Filter keys by usage. |
268+
| scheduled-for-deletion | | Filter keys based on their deletion status. By default, only keys not scheduled for deletion are returned in the output. |
268269
| organization-id | | (Optional) Filter by Organization ID |
269270
| region | Default: `fr-par`<br />One of: `fr-par`, `nl-ams`, `pl-waw`, `all` | Region to target. If none is passed will use default region from the config |
270271

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/mattn/go-isatty v0.0.20
2424
github.com/moby/buildkit v0.13.2
2525
github.com/opencontainers/go-digest v1.0.0
26-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33.0.20250616150134-9c1bc4cca50a
26+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33.0.20250616160552-c2e6c3682b32
2727
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
2828
github.com/spf13/cobra v1.9.1
2929
github.com/spf13/pflag v1.0.6

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -466,8 +466,8 @@ github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUz
466466
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
467467
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
468468
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
469-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33.0.20250616150134-9c1bc4cca50a h1:p6Zw2NuBsVe9jMhTFtvzDBJYsupKmtV86wEqf5oDevo=
470-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33.0.20250616150134-9c1bc4cca50a/go.mod h1:zFWiHphneiey3s8HOtAEnGrRlWivNaxW5T6d5Xfco7g=
469+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33.0.20250616160552-c2e6c3682b32 h1:LD2S2WqtJLbfqSdmyXwYmL/3eOlzQI2Hu4rK68bYHe0=
470+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33.0.20250616160552-c2e6c3682b32/go.mod h1:zFWiHphneiey3s8HOtAEnGrRlWivNaxW5T6d5Xfco7g=
471471
github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8=
472472
github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM=
473473
github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA=

internal/namespaces/key_manager/v1alpha1/key_manager_cli.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"reflect"
99

1010
"github.com/scaleway/scaleway-cli/v2/core"
11-
key_manager "github.com/scaleway/scaleway-sdk-go/api/key_manager/v1alpha1"
11+
"github.com/scaleway/scaleway-sdk-go/api/key_manager/v1alpha1"
1212
"github.com/scaleway/scaleway-sdk-go/scw"
1313
)
1414

@@ -550,6 +550,13 @@ func keymanagerKeyList() *core.Command {
550550
"asymmetric_signing",
551551
},
552552
},
553+
{
554+
Name: "scheduled-for-deletion",
555+
Short: `Filter keys based on their deletion status. By default, only keys not scheduled for deletion are returned in the output.`,
556+
Required: false,
557+
Deprecated: false,
558+
Positional: false,
559+
},
553560
{
554561
Name: "organization-id",
555562
Short: `(Optional) Filter by Organization ID`,

0 commit comments

Comments
 (0)