Skip to content

Commit 2dbe0eb

Browse files
committed
fix(secrets-manager): include instance name in payload, as it is required
1 parent d1d74ad commit 2dbe0eb

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

internal/cmd/secrets-manager/instance/update/update.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
7575
if err != nil {
7676
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
7777
instanceLabel = model.InstanceId
78+
if model.KmsKeyId != nil {
79+
return fmt.Errorf("get instance name: %w", err)
80+
}
7881
}
7982

8083
prompt := fmt.Sprintf("Are you sure you want to update instance %q?", instanceLabel)
@@ -84,7 +87,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
8487
}
8588

8689
// Call API
87-
req := buildRequest(ctx, model, apiClient)
90+
req := buildRequest(ctx, model, instanceLabel, apiClient)
8891
switch request := req.(type) {
8992
case secretsmanager.ApiUpdateInstanceRequest:
9093
err = request.Execute()
@@ -142,18 +145,19 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
142145
return &model, nil
143146
}
144147

145-
func buildRequest(ctx context.Context, model *inputModel, apiClient *secretsmanager.APIClient) interface{ Execute() error } {
148+
func buildRequest(ctx context.Context, model *inputModel, instanceName string, apiClient *secretsmanager.APIClient) interface{ Execute() error } {
146149
if model.KmsKeyId != nil {
147-
return buildUpdateInstanceRequest(ctx, model, apiClient)
150+
return buildUpdateInstanceRequest(ctx, model, instanceName, apiClient)
148151
}
149152

150153
return buildUpdateACLsRequest(ctx, model, apiClient)
151154
}
152155

153-
func buildUpdateInstanceRequest(ctx context.Context, model *inputModel, apiClient *secretsmanager.APIClient) secretsmanager.ApiUpdateInstanceRequest {
156+
func buildUpdateInstanceRequest(ctx context.Context, model *inputModel, instanceName string, apiClient *secretsmanager.APIClient) secretsmanager.ApiUpdateInstanceRequest {
154157
req := apiClient.UpdateInstance(ctx, model.ProjectId, model.InstanceId)
155158

156159
payload := secretsmanager.UpdateInstancePayload{
160+
Name: &instanceName,
157161
KmsKey: &secretsmanager.KmsKeyPayload{
158162
KeyId: model.KmsKeyId,
159163
KeyRingId: model.KmsKeyringId,

internal/cmd/secrets-manager/instance/update/update_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ var (
3232
)
3333

3434
const (
35+
testInstanceName = "test-instance"
3536
testKmsKeyId = "key-id"
3637
testKmsKeyringId = "keyring-id"
3738
testKmsKeyVersion = int64(1)
@@ -90,6 +91,7 @@ func fixtureRequest(mods ...func(request *secretsmanager.ApiUpdateACLsRequest))
9091
func fixtureUpdateInstanceRequest(mods ...func(request *secretsmanager.ApiUpdateInstanceRequest)) secretsmanager.ApiUpdateInstanceRequest {
9192
request := testClient.UpdateInstance(testCtx, testProjectId, testInstanceId)
9293
request = request.UpdateInstancePayload(secretsmanager.UpdateInstancePayload{
94+
Name: utils.Ptr(testInstanceName),
9395
KmsKey: &secretsmanager.KmsKeyPayload{
9496
KeyId: utils.Ptr(testKmsKeyId),
9597
KeyRingId: utils.Ptr(testKmsKeyringId),
@@ -288,7 +290,7 @@ func TestBuildRequest(t *testing.T) {
288290

289291
for _, tt := range tests {
290292
t.Run(tt.description, func(t *testing.T) {
291-
request := buildRequest(testCtx, tt.model, testClient)
293+
request := buildRequest(testCtx, tt.model, testInstanceName, testClient)
292294
aclRequest, ok := request.(secretsmanager.ApiUpdateACLsRequest)
293295
if !ok {
294296
t.Fatalf("expected ACL update request, got %T", request)
@@ -314,7 +316,7 @@ func TestBuildRequestKms(t *testing.T) {
314316
model.KmsServiceAccountEmail = utils.Ptr(testKmsServiceAccountEmail)
315317
})
316318

317-
request := buildRequest(testCtx, model, testClient)
319+
request := buildRequest(testCtx, model, testInstanceName, testClient)
318320
updateRequest, ok := request.(secretsmanager.ApiUpdateInstanceRequest)
319321
if !ok {
320322
t.Fatalf("expected instance update request, got %T", request)

0 commit comments

Comments
 (0)