diff --git a/CHANGES.md b/CHANGES.md index 57cf6d7..160133d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changes +### v1.12.2 + +- Fixed AKV client + ### v1.12.1 - Fixed AKV client diff --git a/backend/akv.go b/backend/akv.go index ec2788b..33b8cee 100644 --- a/backend/akv.go +++ b/backend/akv.go @@ -3,6 +3,7 @@ package backend import ( "context" "github.com/Azure/azure-sdk-for-go/sdk/keyvault/azsecrets" + "time" ) type AKV struct { @@ -14,7 +15,7 @@ func NewAKV(client *azsecrets.Client) *AKV { } func (b *AKV) Get(ctx context.Context, _ *Profile, key string) ([]byte, error) { - resp, err := b.client.GetSecret(ctx, key, "", nil) + resp, err := b.client.GetSecret(ctx, key, nil) if err != nil { return nil, err } @@ -22,7 +23,7 @@ func (b *AKV) Get(ctx context.Context, _ *Profile, key string) ([]byte, error) { } func (b *AKV) List(ctx context.Context, _ *Profile) ([]Key, error) { - pager := b.client.NewListSecretsPager(nil) + pager := b.client.ListPropertiesOfSecrets(nil) var keys []Key for pager.More() { @@ -31,11 +32,10 @@ func (b *AKV) List(ctx context.Context, _ *Profile) ([]Key, error) { return nil, err } - for _, each := range page.Value { - + for _, v := range page.Secrets { keys = append(keys, Key{ - Name: each.ID.Name(), - CreatedAt: *each.Attributes.Created, + Name: *v.Name, + CreatedAt: *v.Properties.CreatedOn, Info: "creator: ", // no owner Owner: "", }) @@ -45,13 +45,12 @@ func (b *AKV) List(ctx context.Context, _ *Profile) ([]Key, error) { } func (b *AKV) CheckExists(ctx context.Context, _ *Profile, key string) (bool, error) { - _, err := b.client.GetSecret(ctx, key, "", nil) + _, err := b.client.GetSecret(ctx, key, nil) return err == nil, err } func (b *AKV) Put(ctx context.Context, _ *Profile, key, value string, overwrite bool) error { - params := azsecrets.SetSecretParameters{Value: &value} - _, err := b.client.SetSecret(ctx, key, params, nil) + _, err := b.client.SetSecret(ctx, key, value, nil) if err != nil { return err } @@ -59,17 +58,21 @@ func (b *AKV) Put(ctx context.Context, _ *Profile, key, value string, overwrite } func (b *AKV) Delete(ctx context.Context, _ *Profile, key string) error { - _, err := b.client.DeleteSecret(ctx, key, nil) + res, err := b.client.BeginDeleteSecret(ctx, key, nil) + if err != nil { + return err + } + _, err = res.PollUntilDone(ctx, time.Second) if err != nil { return err } return nil } -func (b *AKV) Close() error { - return nil +func (b *AKV) SetParameter(key string, value interface{}) { + //no-op } -func (b *AKV) SetParameter(key string, value interface{}) { - // noop +func (b *AKV) Close() error { + return nil }