Skip to content

Commit 41d242d

Browse files
[keyvault] azsecret renames (Azure#20861)
* azsecret renames * update perf test * Charles feedback Co-authored-by: Charles Lowell <10964656+chlowell@users.noreply.github.com>
1 parent 5f013eb commit 41d242d

File tree

13 files changed

+360
-359
lines changed

13 files changed

+360
-359
lines changed

eng/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
},
5151
{
5252
"Name": "keyvault/azsecrets",
53-
"CoverageGoal": 0.80
53+
"CoverageGoal": 0.86
5454
},
5555
{
5656
"Name": "data",

sdk/security/keyvault/azsecrets/CHANGELOG.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
# Release History
22

3-
## 1.0.0 (2023-05-11)
3+
## 1.0.0 (Unreleased)
4+
5+
### Breaking Changes
6+
* Renamed `Client.ListSecrets` to `Client.ListSecretProperties`
7+
* Renamed `Client.ListSecretVersions` to `Client.ListSecretPropertiesVersions`
8+
* Renamed `SecretBundle` to `Secret`
9+
* Renamed `DeletedSecretBundle` to `DeletedSecret`
10+
* Renamed `SecretItem` to `SecretProperties`
11+
* Renamed `DeletedSecretItem` to `DeletedSecretProperties`
12+
* Renamed `Kid` to `KID`
13+
* Removed `DeletionRecoveryLevel` type
414

515
### Other Changes
616
* Updated dependencies

sdk/security/keyvault/azsecrets/autorest.md

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ security: "AADToken"
1616
security-scopes: "https://vault.azure.net/.default"
1717
use: "@autorest/go@4.0.0-preview.46"
1818
version: "^3.0.0"
19-
2019
directive:
2120
# delete unused model
2221
- remove-model: SecretProperties
@@ -36,17 +35,54 @@ directive:
3635
- rename-model:
3736
from: SecretUpdateParameters
3837
to: UpdateSecretParameters
38+
- rename-model:
39+
from: SecretBundle
40+
to: Secret
41+
- rename-model:
42+
from: DeletedSecretBundle
43+
to: DeletedSecret
44+
- rename-model:
45+
from: SecretItem
46+
to: SecretProperties
47+
- rename-model:
48+
from: DeletedSecretItem
49+
to: DeletedSecretProperties
50+
- rename-model:
51+
from: UpdateSecretParameters
52+
to: UpdateSecretPropertiesParameters
53+
- rename-model:
54+
from: DeletedSecretListResult
55+
to: DeletedSecretPropertiesListResult
56+
- rename-model:
57+
from: SecretListResult
58+
to: SecretPropertiesListResult
3959

40-
# rename paged operations from Get* to List*
60+
# rename operations
4161
- rename-operation:
4262
from: GetDeletedSecrets
43-
to: ListDeletedSecrets
63+
to: ListDeletedSecretProperties
4464
- rename-operation:
4565
from: GetSecrets
46-
to: ListSecrets
66+
to: ListSecretProperties
4767
- rename-operation:
4868
from: GetSecretVersions
49-
to: ListSecretVersions
69+
to: ListSecretPropertiesVersions
70+
- rename-operation:
71+
from: UpdateSecret
72+
to: UpdateSecretProperties
73+
74+
# rename fields
75+
- from: swagger-document
76+
where: $.definitions.RestoreSecretParameters.properties.value
77+
transform: $["x-ms-client-name"] = "SecretBackup"
78+
- from: swagger-document
79+
where: $.definitions.Secret.properties.kid
80+
transform: $["x-ms-client-name"] = "KID"
81+
82+
# remove type DeletionRecoveryLevel, use string instead
83+
- from: models.go
84+
where: $
85+
transform: return $.replace(/DeletionRecoveryLevel/g, "string");
5086

5187
# delete unused error models
5288
- from: models.go

sdk/security/keyvault/azsecrets/build.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// +build go1.18
33

44
//go:generate autorest ./autorest.md
5+
//go:generate rm ./constants.go
56
//go:generate gofmt -w .
67

78
// Copyright (c) Microsoft Corporation. All rights reserved.

sdk/security/keyvault/azsecrets/client.go

Lines changed: 90 additions & 87 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/security/keyvault/azsecrets/client_test.go

Lines changed: 12 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -8,51 +8,18 @@ package azsecrets_test
88

99
import (
1010
"context"
11-
"encoding/json"
12-
"errors"
1311
"fmt"
1412
"strings"
1513
"testing"
1614
"time"
1715

18-
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
1916
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
2017
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
2118
"github.com/Azure/azure-sdk-for-go/sdk/internal/mock"
22-
"github.com/Azure/azure-sdk-for-go/sdk/internal/recording"
2319
"github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azsecrets"
2420
"github.com/stretchr/testify/require"
2521
)
2622

27-
// pollStatus calls a function until it stops returning a response error with the given status code.
28-
// If this takes more than 2 minutes, it fails the test.
29-
func pollStatus(t *testing.T, expectedStatus int, fn func() error) {
30-
var err error
31-
for i := 0; i < 12; i++ {
32-
err = fn()
33-
var respErr *azcore.ResponseError
34-
if !(errors.As(err, &respErr) && respErr.StatusCode == expectedStatus) {
35-
break
36-
}
37-
if i < 11 {
38-
recording.Sleep(10 * time.Second)
39-
}
40-
}
41-
require.NoError(t, err)
42-
}
43-
44-
type serdeModel interface {
45-
json.Marshaler
46-
json.Unmarshaler
47-
}
48-
49-
func testSerde[T serdeModel](t *testing.T, model T) {
50-
data, err := model.MarshalJSON()
51-
require.NoError(t, err)
52-
err = model.UnmarshalJSON(data)
53-
require.NoError(t, err)
54-
}
55-
5623
func TestBackupRestore(t *testing.T) {
5724
client := startTest(t)
5825

@@ -114,7 +81,7 @@ func TestCRUD(t *testing.T) {
11481
require.Equal(t, setParams.Value, setResp.Value)
11582
require.Equal(t, name, setResp.ID.Name())
11683
require.NotEmpty(t, setResp.ID.Version())
117-
testSerde(t, &setResp.SecretBundle)
84+
testSerde(t, &setResp.Secret)
11885

11986
getResp, err := client.GetSecret(context.Background(), setResp.ID.Name(), "", nil)
12087
require.NoError(t, err)
@@ -128,13 +95,13 @@ func TestCRUD(t *testing.T) {
12895
require.Equal(t, setParams.Tags, getResp.Tags)
12996
require.Equal(t, setParams.Value, getResp.Value)
13097

131-
updateParams := azsecrets.UpdateSecretParameters{
98+
updateParams := azsecrets.UpdateSecretPropertiesParameters{
13299
SecretAttributes: &azsecrets.SecretAttributes{
133100
Expires: to.Ptr(time.Date(2040, 1, 1, 1, 1, 1, 0, time.UTC)),
134101
},
135102
}
136103
testSerde(t, &updateParams)
137-
updateResp, err := client.UpdateSecret(context.Background(), name, setResp.ID.Version(), updateParams, nil)
104+
updateResp, err := client.UpdateSecretProperties(context.Background(), name, setResp.ID.Version(), updateParams, nil)
138105
require.NoError(t, err)
139106
require.Equal(t, setParams.ContentType, updateResp.ContentType)
140107
require.Equal(t, setResp.ID, updateResp.ID)
@@ -153,7 +120,7 @@ func TestCRUD(t *testing.T) {
153120
require.Equal(t, setParams.Tags, deleteResp.Tags)
154121
require.Equal(t, name, deleteResp.ID.Name())
155122
require.Equal(t, updateResp.ID.Version(), deleteResp.ID.Version())
156-
testSerde(t, &deleteResp.DeletedSecretBundle)
123+
testSerde(t, &deleteResp.DeletedSecret)
157124
pollStatus(t, 404, func() error {
158125
_, err := client.GetDeletedSecret(context.Background(), name, nil)
159126
return err
@@ -212,7 +179,7 @@ func TestDisableChallengeResourceVerification(t *testing.T) {
212179
}
213180
client, err := azsecrets.NewClient(vaultURL, &FakeCredential{}, options)
214181
require.NoError(t, err)
215-
pager := client.NewListSecretsPager(nil)
182+
pager := client.NewListSecretPropertiesPager(nil)
216183
_, err = pager.NextPage(context.Background())
217184
if test.err {
218185
require.Error(t, err)
@@ -270,11 +237,11 @@ func TestListDeletedSecrets(t *testing.T) {
270237
})
271238

272239
expected := map[string]struct{}{secret1: {}, secret2: {}}
273-
pager := client.NewListDeletedSecretsPager(&azsecrets.ListDeletedSecretsOptions{MaxResults: to.Ptr(int32(1))})
240+
pager := client.NewListDeletedSecretPropertiesPager(&azsecrets.ListDeletedSecretPropertiesOptions{MaxResults: to.Ptr(int32(1))})
274241
for pager.More() && len(expected) > 0 {
275242
page, err := pager.NextPage(context.Background())
276243
require.NoError(t, err)
277-
testSerde(t, &page.DeletedSecretListResult)
244+
testSerde(t, &page.DeletedSecretPropertiesListResult)
278245
for _, secret := range page.Value {
279246
testSerde(t, secret)
280247
delete(expected, secret.ID.Name())
@@ -298,11 +265,11 @@ func TestListSecrets(t *testing.T) {
298265
defer cleanUpSecret(t, client, name)
299266
}
300267

301-
pager := client.NewListSecretsPager(&azsecrets.ListSecretsOptions{MaxResults: to.Ptr(int32(1))})
268+
pager := client.NewListSecretPropertiesPager(&azsecrets.ListSecretPropertiesOptions{MaxResults: to.Ptr(int32(1))})
302269
for pager.More() {
303270
page, err := pager.NextPage(context.Background())
304271
require.NoError(t, err)
305-
testSerde(t, &page.SecretListResult)
272+
testSerde(t, &page.SecretPropertiesListResult)
306273
for _, secret := range page.Value {
307274
testSerde(t, secret)
308275
if strings.HasPrefix(secret.ID.Name(), "listsecrets") {
@@ -335,11 +302,11 @@ func TestListSecretVersions(t *testing.T) {
335302
}
336303
defer cleanUpSecret(t, client, name)
337304

338-
pager := client.NewListSecretVersionsPager(name, &azsecrets.ListSecretVersionsOptions{MaxResults: to.Ptr(int32(1))})
305+
pager := client.NewListSecretPropertiesVersionsPager(name, &azsecrets.ListSecretPropertiesVersionsOptions{MaxResults: to.Ptr(int32(1))})
339306
for pager.More() {
340307
page, err := pager.NextPage(context.Background())
341308
require.NoError(t, err)
342-
testSerde(t, &page.SecretListResult)
309+
testSerde(t, &page.SecretPropertiesListResult)
343310
for i, secret := range page.Value {
344311
testSerde(t, secret)
345312
if i > 0 {
@@ -377,7 +344,7 @@ func TestNameRequired(t *testing.T) {
377344
require.EqualError(t, err, expected)
378345
_, err = client.SetSecret(context.Background(), "", azsecrets.SetSecretParameters{}, nil)
379346
require.EqualError(t, err, expected)
380-
_, err = client.UpdateSecret(context.Background(), "", "", azsecrets.UpdateSecretParameters{}, nil)
347+
_, err = client.UpdateSecretProperties(context.Background(), "", "", azsecrets.UpdateSecretPropertiesParameters{}, nil)
381348
require.EqualError(t, err, expected)
382349
}
383350

sdk/security/keyvault/azsecrets/constants.go

Lines changed: 0 additions & 63 deletions
This file was deleted.

sdk/security/keyvault/azsecrets/example_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ func ExampleClient_DeleteSecret() {
7070
}
7171

7272
// List pages don't include secret values. Use [Client.GetSecret] to retrieve secret values.
73-
func ExampleClient_NewListSecretsPager() {
74-
pager := client.NewListSecretsPager(nil)
73+
func ExampleClient_NewListSecretPropertiesPager() {
74+
pager := client.NewListSecretPropertiesPager(nil)
7575
for pager.More() {
7676
page, err := pager.NextPage(context.TODO())
7777
if err != nil {
@@ -89,7 +89,7 @@ func ExampleClient_BackupSecret() {
8989
// TODO: handle error
9090
}
9191

92-
restoreResp, err := client.RestoreSecret(context.TODO(), azsecrets.RestoreSecretParameters{SecretBundleBackup: backup.Value}, nil)
92+
restoreResp, err := client.RestoreSecret(context.TODO(), azsecrets.RestoreSecretParameters{SecretBackup: backup.Value}, nil)
9393
if err != nil {
9494
// TODO: handle error
9595
}
@@ -103,7 +103,7 @@ func ExampleClient_RestoreSecret() {
103103
// TODO: handle error
104104
}
105105

106-
restoreResp, err := client.RestoreSecret(context.TODO(), azsecrets.RestoreSecretParameters{SecretBundleBackup: backup.Value}, nil)
106+
restoreResp, err := client.RestoreSecret(context.TODO(), azsecrets.RestoreSecretParameters{SecretBackup: backup.Value}, nil)
107107
if err != nil {
108108
// TODO: handle error
109109
}
@@ -113,7 +113,7 @@ func ExampleClient_RestoreSecret() {
113113

114114
func ExampleClient_PurgeDeletedSecret() {
115115
// this loop purges all the deleted secrets in the vault
116-
pager := client.NewListDeletedSecretsPager(nil)
116+
pager := client.NewListDeletedSecretPropertiesPager(nil)
117117
for pager.More() {
118118
page, err := pager.NextPage(context.TODO())
119119
if err != nil {
@@ -137,8 +137,8 @@ func ExampleClient_RecoverDeletedSecret() {
137137
}
138138

139139
// UpdateSecret updates a secret's metadata. It can't change the secret's value; use [Client.SetSecret] to set a secret's value.
140-
func ExampleClient_UpdateSecret() {
141-
updateParams := azsecrets.UpdateSecretParameters{
140+
func ExampleClient_UpdateSecretProperties() {
141+
updateParams := azsecrets.UpdateSecretPropertiesParameters{
142142
SecretAttributes: &azsecrets.SecretAttributes{
143143
Expires: to.Ptr(time.Now().Add(48 * time.Hour)),
144144
},
@@ -147,7 +147,7 @@ func ExampleClient_UpdateSecret() {
147147
}
148148
// an empty version updates the latest version of the secret
149149
version := ""
150-
resp, err := client.UpdateSecret(context.Background(), "mySecretName", version, updateParams, nil)
150+
resp, err := client.UpdateSecretProperties(context.Background(), "mySecretName", version, updateParams, nil)
151151
if err != nil {
152152
// TODO: handle error
153153
}

0 commit comments

Comments
 (0)