Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various cleanup in azappconfig #22197

Merged
merged 1 commit into from
Jan 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 61 additions & 46 deletions sdk/data/azappconfig/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,9 +236,10 @@ func (c *Client) NewListRevisionsPager(selector SettingSelector, options *ListRe
if err != nil {
return ListRevisionsPageResponse{}, err
}
var css []Setting
for _, cs := range page.Items {
css = append(css, settingFromGenerated(cs))

css := make([]Setting, len(page.Items))
for i := range page.Items {
css[i] = settingFromGenerated(page.Items[i])
}

return ListRevisionsPageResponse{
Expand All @@ -262,9 +263,9 @@ func (c *Client) NewListSettingsPager(selector SettingSelector, options *ListSet
if err != nil {
return ListSettingsPageResponse{}, err
}
var css []Setting
for _, cs := range page.Items {
css = append(css, settingFromGenerated(cs))
css := make([]Setting, len(page.Items))
for i := range page.Items {
css[i] = settingFromGenerated(page.Items[i])
}

return ListSettingsPageResponse{
Expand Down Expand Up @@ -296,18 +297,16 @@ func (c *Client) NewListSnapshotsPager(options *ListSnapshotsOptions) *runtime.P

snapshots := make([]Snapshot, len(page.Items))

for i := 0; i < len(page.Items); i++ {

for i := range page.Items {
snapshot := page.Items[i]

convertedETag := azcore.ETag(*snapshot.Etag)

convertedFilters := make([]KeyValueFilter, len(snapshot.Filters))

for j := 0; j < len(snapshot.Filters); j++ {
convertedFilters[j] = KeyValueFilter{
Key: snapshot.Filters[j].Key,
Label: snapshot.Filters[j].Label,
convertedFilters := make([]SettingFilter, len(snapshot.Filters))
for j := range snapshot.Filters {
convertedFilters[j] = SettingFilter{
KeyFilter: snapshot.Filters[j].Key,
LabelFilter: snapshot.Filters[j].Label,
}
}

Expand Down Expand Up @@ -367,8 +366,7 @@ func (c *Client) NewListSettingsForSnapshotPager(snapshotName string, options *L
}

settings := make([]Setting, len(page.Items))

for i := 0; i < len(page.Items); i++ {
for i := range page.Items {
setting := page.Items[i]

settings[i] = settingFromGenerated(setting)
Expand All @@ -386,52 +384,63 @@ func (c *Client) NewListSettingsForSnapshotPager(snapshotName string, options *L
// BeginCreateSnapshot creates a snapshot of the configuration store.
//
// - snapshotName - The name of the snapshot to create.
// - keyLabelFilter - The filters to apply on the key-values.
// - settingFilter - The filters to apply on the key-values.
// - options - CreateSnapshotOptions contains the optional parameters to create a Snapshot
func (c *Client) BeginCreateSnapshot(ctx context.Context, snapshotName string, keyLabelFilter []SettingFilter, options *CreateSnapshotOptions) (*runtime.Poller[CreateSnapshotResponse], error) {
filter := []generated.KeyValueFilter{}

func (c *Client) BeginCreateSnapshot(ctx context.Context, snapshotName string, settingFilter []SettingFilter, options *CreateSnapshotOptions) (*runtime.Poller[CreateSnapshotResponse], error) {
if options == nil {
options = &CreateSnapshotOptions{}
}

for _, f := range keyLabelFilter {
filter = append(filter, generated.KeyValueFilter{
Key: f.KeyFilter,
Label: f.LabelFilter,
})
filter := make([]generated.KeyValueFilter, len(settingFilter))
for i := range settingFilter {
filter[i] = generated.KeyValueFilter{
Key: settingFilter[i].KeyFilter,
Label: settingFilter[i].LabelFilter,
}
}

// if no filters were specified, add an empty filter to mean "all the things"
if len(filter) == 0 {
filter = append(filter, generated.KeyValueFilter{})
}

entity := generated.Snapshot{
Filters: filter,
CompositionType: options.CompositionType,
Filters: filter,
Name: &snapshotName,
RetentionPeriod: options.RetentionPeriod,
Tags: options.Tags,
Name: &snapshotName,
}

opts := generated.AzureAppConfigurationClientBeginCreateSnapshotOptions{
ResumeToken: options.ResumeToken,
if options.ResumeToken != "" {
return runtime.NewPollerFromResumeToken(options.ResumeToken, c.appConfigClient.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[CreateSnapshotResponse]{
Tracer: c.appConfigClient.Tracer(),
})
}

pollerSS, err := generated.NewCreateSnapshotPoller[CreateSnapshotResponse](ctx, c.appConfigClient, snapshotName, entity, &opts)
var err error
ctx, endSpan := runtime.StartSpan(ctx, "Client.BeginCreateSnapshot", c.appConfigClient.Tracer(), nil)
defer func() { endSpan(err) }()

resp, err := c.appConfigClient.CreateSnapshot(ctx, snapshotName, entity, nil)
if err != nil {
return nil, err
}

return pollerSS, nil
poller, err := runtime.NewPoller(resp, c.appConfigClient.Pipeline(), &runtime.NewPollerOptions[CreateSnapshotResponse]{
Tracer: c.appConfigClient.Tracer(),
})
return poller, err
}

// GetSnapshot gets a snapshot
//
// - snapshotName - The name of the snapshot to get.
// - options - GetSnapshotOptions contains the optional parameters to get a snapshot
func (c *Client) GetSnapshot(ctx context.Context, snapshotName string, options *GetSnapshotOptions) (GetSnapshotResponse, error) {
var err error
ctx, endSpan := runtime.StartSpan(ctx, "Client.GetSnapshot", c.appConfigClient.Tracer(), nil)
defer func() { endSpan(err) }()

if options == nil {
options = &GetSnapshotOptions{}
}
Expand All @@ -446,13 +455,12 @@ func (c *Client) GetSnapshot(ctx context.Context, snapshotName string, options *

convertedETag := azcore.ETag(*getResp.Etag)

var convertedFilters []KeyValueFilter

for _, filter := range getResp.Filters {
convertedFilters = append(convertedFilters, KeyValueFilter{
Key: filter.Key,
Label: filter.Label,
})
convertedFilters := make([]SettingFilter, len(getResp.Filters))
for i := range getResp.Filters {
convertedFilters[i] = SettingFilter{
KeyFilter: getResp.Filters[i].Key,
LabelFilter: getResp.Filters[i].Label,
}
}

resp := GetSnapshotResponse{
Expand Down Expand Up @@ -481,6 +489,10 @@ func (c *Client) GetSnapshot(ctx context.Context, snapshotName string, options *
// - snapshotName - The name of the snapshot to archive.
// - options - ArchiveSnapshotOptions contains the optional parameters to archive a snapshot
func (c *Client) ArchiveSnapshot(ctx context.Context, snapshotName string, options *ArchiveSnapshotOptions) (ArchiveSnapshotResponse, error) {
var err error
ctx, endSpan := runtime.StartSpan(ctx, "Client.ArchiveSnapshot", c.appConfigClient.Tracer(), nil)
defer func() { endSpan(err) }()

if options == nil {
options = &ArchiveSnapshotOptions{}
}
Expand All @@ -503,6 +515,10 @@ func (c *Client) ArchiveSnapshot(ctx context.Context, snapshotName string, optio
// - snapshotName - The name of the snapshot to recover.
// - options - RecoverSnapshotOptions contains the optional parameters to recover a snapshot
func (c *Client) RecoverSnapshot(ctx context.Context, snapshotName string, options *RecoverSnapshotOptions) (RecoverSnapshotResponse, error) {
var err error
ctx, endSpan := runtime.StartSpan(ctx, "Client.RecoverSnapshot", c.appConfigClient.Tracer(), nil)
defer func() { endSpan(err) }()

if options == nil {
options = &RecoverSnapshotOptions{}
}
Expand Down Expand Up @@ -535,13 +551,12 @@ func (c *Client) updateSnapshotStatus(ctx context.Context, snapshotName string,

convertedETag := azcore.ETag(*updateResp.Etag)

var convertedFilters []KeyValueFilter

for _, filter := range updateResp.Filters {
convertedFilters = append(convertedFilters, KeyValueFilter{
Key: filter.Key,
Label: filter.Label,
})
convertedFilters := make([]SettingFilter, len(updateResp.Filters))
for i := range updateResp.Filters {
convertedFilters[i] = SettingFilter{
KeyFilter: updateResp.Filters[i].Key,
LabelFilter: updateResp.Filters[i].Label,
}
}

resp := updateSnapshotStatusResponse{
Expand Down
2 changes: 1 addition & 1 deletion sdk/data/azappconfig/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ const (
SnapshotFieldsCreated SnapshotFields = generated.SnapshotFieldsCreated

// An ETag indicating the version of a snapshot.
SnapshotFieldsEtag SnapshotFields = generated.SnapshotFieldsEtag
SnapshotFieldsETag SnapshotFields = generated.SnapshotFieldsETag

// The time when the snapshot will expire once archived.
SnapshotFieldsExpires SnapshotFields = generated.SnapshotFieldsExpires
Expand Down
20 changes: 18 additions & 2 deletions sdk/data/azappconfig/internal/autorest.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,26 @@ directive:
where: $.paths.*.get.x-ms-pageable
transform: >
$.operationName = "GetNextPage";
- from: azureappconfiguration_client.go
- from: zz_azureappconfiguration_client.go
where: $
transform: >
return $.
replace(/urlPath\s+:=\s+"\/\{nextLink\}"/, "urlPath := nextLink").
replace(/\s+urlPath\s+=\s+strings\.ReplaceAll\(urlPath, "\{nextLink\}", nextLink\)/, "");
```
```

```yaml
directive:
- from: zz_azureappconfiguration_client.go
where: $
transform: >
return $.replace(/createSnapshot\(/g, "CreateSnapshot(");
```

```yaml
directive:
- from: zz_constants.go
where: $
transform: >
return $.replace(/SnapshotFieldsEtag/g, "SnapshotFieldsETag");
```
19 changes: 4 additions & 15 deletions sdk/data/azappconfig/internal/generated/custom_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
package generated

import (
"context"

"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing"
Expand All @@ -21,19 +19,10 @@ func NewAzureAppConfigurationClient(endpoint string, client *azcore.Client) *Azu
}
}

func (a *AzureAppConfigurationClient) Tracer() tracing.Tracer {
return a.internal.Tracer()
func (a *AzureAppConfigurationClient) Pipeline() runtime.Pipeline {
return a.internal.Pipeline()
}

func NewCreateSnapshotPoller[T any](ctx context.Context, client *AzureAppConfigurationClient, name string, entity Snapshot, options *AzureAppConfigurationClientBeginCreateSnapshotOptions) (*runtime.Poller[T], error) {
if options == nil || options.ResumeToken == "" {
resp, err := client.createSnapshot(ctx, name, entity, options)
if err != nil {
return nil, err
}
poller, err := runtime.NewPoller[T](resp, client.internal.Pipeline(), nil)
return poller, err
} else {
return runtime.NewPollerFromResumeToken[T](options.ResumeToken, client.internal.Pipeline(), nil)
}
func (a *AzureAppConfigurationClient) Tracer() tracing.Tracer {
return a.internal.Tracer()
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions sdk/data/azappconfig/internal/generated/zz_constants.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 0 additions & 16 deletions sdk/data/azappconfig/keyvaluefilter.go

This file was deleted.

2 changes: 1 addition & 1 deletion sdk/data/azappconfig/snapshot.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ type SnapshotInfo struct {
type Snapshot struct {

// REQUIRED; A list of filters used to filter the key-values included in the snapshot.
Filters []KeyValueFilter `json:"filters"`
Filters []SettingFilter `json:"filters"`

// The composition type describes how the key-values within the snapshot are composed. The 'key' composition type ensures
// there are no two key-values containing the same key. The 'key_label' composition
Expand Down