Skip to content

Commit 5253416

Browse files
committed
fix disable-key-version command with fixed waiter
1 parent 9f8ab6f commit 5253416

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

internal/cmd/beta/kms/version/disable/disable.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ import (
1616
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
1717
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
1818
"github.com/stackitcloud/stackit-cli/internal/pkg/services/kms/client"
19+
"github.com/stackitcloud/stackit-cli/internal/pkg/spinner"
1920
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
2021
"github.com/stackitcloud/stackit-sdk-go/services/kms"
22+
"github.com/stackitcloud/stackit-sdk-go/services/kms/wait"
2123
)
2224

2325
const (
@@ -67,7 +69,16 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
6769
return fmt.Errorf("disable key version: %w", err)
6870
}
6971

70-
// kms v1.0.0 has a waiter, but it get's stuck even though the disable api call was already successfully completed.
72+
// Wait for async operation, if async mode not enabled
73+
if !model.Async {
74+
s := spinner.New(params.Printer)
75+
s.Start("Disabling key version")
76+
_, err = wait.DisableKeyVersionWaitHandler(ctx, apiClient, model.ProjectId, model.Region, model.KeyRingId, model.KeyId, model.VersionNumber).WaitWithContext(ctx)
77+
if err != nil {
78+
return fmt.Errorf("wait for key version to be disabled: %w", err)
79+
}
80+
s.Stop()
81+
}
7182

7283
// Get the key version in its state afterwards
7384
resp, err := apiClient.GetVersionExecute(ctx, model.ProjectId, model.Region, model.KeyRingId, model.KeyId, model.VersionNumber)

0 commit comments

Comments
 (0)