Skip to content

Commit b7a02cc

Browse files
authored
Various cleanup in azappconfig (#22197)
Convert slices of types in-place. Fixed up parameter name for creating snapshots. Correct casing for ETag. Removed duplicate KeyValueFilter type. Add spans for new APIs.
1 parent 08d2a81 commit b7a02cc

File tree

8 files changed

+90
-87
lines changed

8 files changed

+90
-87
lines changed

sdk/data/azappconfig/client.go

Lines changed: 61 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,10 @@ func (c *Client) NewListRevisionsPager(selector SettingSelector, options *ListRe
236236
if err != nil {
237237
return ListRevisionsPageResponse{}, err
238238
}
239-
var css []Setting
240-
for _, cs := range page.Items {
241-
css = append(css, settingFromGenerated(cs))
239+
240+
css := make([]Setting, len(page.Items))
241+
for i := range page.Items {
242+
css[i] = settingFromGenerated(page.Items[i])
242243
}
243244

244245
return ListRevisionsPageResponse{
@@ -262,9 +263,9 @@ func (c *Client) NewListSettingsPager(selector SettingSelector, options *ListSet
262263
if err != nil {
263264
return ListSettingsPageResponse{}, err
264265
}
265-
var css []Setting
266-
for _, cs := range page.Items {
267-
css = append(css, settingFromGenerated(cs))
266+
css := make([]Setting, len(page.Items))
267+
for i := range page.Items {
268+
css[i] = settingFromGenerated(page.Items[i])
268269
}
269270

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

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

299-
for i := 0; i < len(page.Items); i++ {
300-
300+
for i := range page.Items {
301301
snapshot := page.Items[i]
302302

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

305-
convertedFilters := make([]KeyValueFilter, len(snapshot.Filters))
306-
307-
for j := 0; j < len(snapshot.Filters); j++ {
308-
convertedFilters[j] = KeyValueFilter{
309-
Key: snapshot.Filters[j].Key,
310-
Label: snapshot.Filters[j].Label,
305+
convertedFilters := make([]SettingFilter, len(snapshot.Filters))
306+
for j := range snapshot.Filters {
307+
convertedFilters[j] = SettingFilter{
308+
KeyFilter: snapshot.Filters[j].Key,
309+
LabelFilter: snapshot.Filters[j].Label,
311310
}
312311
}
313312

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

369368
settings := make([]Setting, len(page.Items))
370-
371-
for i := 0; i < len(page.Items); i++ {
369+
for i := range page.Items {
372370
setting := page.Items[i]
373371

374372
settings[i] = settingFromGenerated(setting)
@@ -386,52 +384,63 @@ func (c *Client) NewListSettingsForSnapshotPager(snapshotName string, options *L
386384
// BeginCreateSnapshot creates a snapshot of the configuration store.
387385
//
388386
// - snapshotName - The name of the snapshot to create.
389-
// - keyLabelFilter - The filters to apply on the key-values.
387+
// - settingFilter - The filters to apply on the key-values.
390388
// - options - CreateSnapshotOptions contains the optional parameters to create a Snapshot
391-
func (c *Client) BeginCreateSnapshot(ctx context.Context, snapshotName string, keyLabelFilter []SettingFilter, options *CreateSnapshotOptions) (*runtime.Poller[CreateSnapshotResponse], error) {
392-
filter := []generated.KeyValueFilter{}
393-
389+
func (c *Client) BeginCreateSnapshot(ctx context.Context, snapshotName string, settingFilter []SettingFilter, options *CreateSnapshotOptions) (*runtime.Poller[CreateSnapshotResponse], error) {
394390
if options == nil {
395391
options = &CreateSnapshotOptions{}
396392
}
397393

398-
for _, f := range keyLabelFilter {
399-
filter = append(filter, generated.KeyValueFilter{
400-
Key: f.KeyFilter,
401-
Label: f.LabelFilter,
402-
})
394+
filter := make([]generated.KeyValueFilter, len(settingFilter))
395+
for i := range settingFilter {
396+
filter[i] = generated.KeyValueFilter{
397+
Key: settingFilter[i].KeyFilter,
398+
Label: settingFilter[i].LabelFilter,
399+
}
403400
}
404401

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

409407
entity := generated.Snapshot{
410-
Filters: filter,
411408
CompositionType: options.CompositionType,
409+
Filters: filter,
410+
Name: &snapshotName,
412411
RetentionPeriod: options.RetentionPeriod,
413412
Tags: options.Tags,
414-
Name: &snapshotName,
415413
}
416414

417-
opts := generated.AzureAppConfigurationClientBeginCreateSnapshotOptions{
418-
ResumeToken: options.ResumeToken,
415+
if options.ResumeToken != "" {
416+
return runtime.NewPollerFromResumeToken(options.ResumeToken, c.appConfigClient.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[CreateSnapshotResponse]{
417+
Tracer: c.appConfigClient.Tracer(),
418+
})
419419
}
420420

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

425+
resp, err := c.appConfigClient.CreateSnapshot(ctx, snapshotName, entity, nil)
423426
if err != nil {
424427
return nil, err
425428
}
426-
427-
return pollerSS, nil
429+
poller, err := runtime.NewPoller(resp, c.appConfigClient.Pipeline(), &runtime.NewPollerOptions[CreateSnapshotResponse]{
430+
Tracer: c.appConfigClient.Tracer(),
431+
})
432+
return poller, err
428433
}
429434

430435
// GetSnapshot gets a snapshot
431436
//
432437
// - snapshotName - The name of the snapshot to get.
433438
// - options - GetSnapshotOptions contains the optional parameters to get a snapshot
434439
func (c *Client) GetSnapshot(ctx context.Context, snapshotName string, options *GetSnapshotOptions) (GetSnapshotResponse, error) {
440+
var err error
441+
ctx, endSpan := runtime.StartSpan(ctx, "Client.GetSnapshot", c.appConfigClient.Tracer(), nil)
442+
defer func() { endSpan(err) }()
443+
435444
if options == nil {
436445
options = &GetSnapshotOptions{}
437446
}
@@ -446,13 +455,12 @@ func (c *Client) GetSnapshot(ctx context.Context, snapshotName string, options *
446455

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

449-
var convertedFilters []KeyValueFilter
450-
451-
for _, filter := range getResp.Filters {
452-
convertedFilters = append(convertedFilters, KeyValueFilter{
453-
Key: filter.Key,
454-
Label: filter.Label,
455-
})
458+
convertedFilters := make([]SettingFilter, len(getResp.Filters))
459+
for i := range getResp.Filters {
460+
convertedFilters[i] = SettingFilter{
461+
KeyFilter: getResp.Filters[i].Key,
462+
LabelFilter: getResp.Filters[i].Label,
463+
}
456464
}
457465

458466
resp := GetSnapshotResponse{
@@ -481,6 +489,10 @@ func (c *Client) GetSnapshot(ctx context.Context, snapshotName string, options *
481489
// - snapshotName - The name of the snapshot to archive.
482490
// - options - ArchiveSnapshotOptions contains the optional parameters to archive a snapshot
483491
func (c *Client) ArchiveSnapshot(ctx context.Context, snapshotName string, options *ArchiveSnapshotOptions) (ArchiveSnapshotResponse, error) {
492+
var err error
493+
ctx, endSpan := runtime.StartSpan(ctx, "Client.ArchiveSnapshot", c.appConfigClient.Tracer(), nil)
494+
defer func() { endSpan(err) }()
495+
484496
if options == nil {
485497
options = &ArchiveSnapshotOptions{}
486498
}
@@ -503,6 +515,10 @@ func (c *Client) ArchiveSnapshot(ctx context.Context, snapshotName string, optio
503515
// - snapshotName - The name of the snapshot to recover.
504516
// - options - RecoverSnapshotOptions contains the optional parameters to recover a snapshot
505517
func (c *Client) RecoverSnapshot(ctx context.Context, snapshotName string, options *RecoverSnapshotOptions) (RecoverSnapshotResponse, error) {
518+
var err error
519+
ctx, endSpan := runtime.StartSpan(ctx, "Client.RecoverSnapshot", c.appConfigClient.Tracer(), nil)
520+
defer func() { endSpan(err) }()
521+
506522
if options == nil {
507523
options = &RecoverSnapshotOptions{}
508524
}
@@ -535,13 +551,12 @@ func (c *Client) updateSnapshotStatus(ctx context.Context, snapshotName string,
535551

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

538-
var convertedFilters []KeyValueFilter
539-
540-
for _, filter := range updateResp.Filters {
541-
convertedFilters = append(convertedFilters, KeyValueFilter{
542-
Key: filter.Key,
543-
Label: filter.Label,
544-
})
554+
convertedFilters := make([]SettingFilter, len(updateResp.Filters))
555+
for i := range updateResp.Filters {
556+
convertedFilters[i] = SettingFilter{
557+
KeyFilter: updateResp.Filters[i].Key,
558+
LabelFilter: updateResp.Filters[i].Label,
559+
}
545560
}
546561

547562
resp := updateSnapshotStatusResponse{

sdk/data/azappconfig/constants.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ const (
5050
SnapshotFieldsCreated SnapshotFields = generated.SnapshotFieldsCreated
5151

5252
// An ETag indicating the version of a snapshot.
53-
SnapshotFieldsEtag SnapshotFields = generated.SnapshotFieldsEtag
53+
SnapshotFieldsETag SnapshotFields = generated.SnapshotFieldsETag
5454

5555
// The time when the snapshot will expire once archived.
5656
SnapshotFieldsExpires SnapshotFields = generated.SnapshotFieldsExpires

sdk/data/azappconfig/internal/autorest.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,26 @@ directive:
3737
where: $.paths.*.get.x-ms-pageable
3838
transform: >
3939
$.operationName = "GetNextPage";
40-
- from: azureappconfiguration_client.go
40+
- from: zz_azureappconfiguration_client.go
4141
where: $
4242
transform: >
4343
return $.
4444
replace(/urlPath\s+:=\s+"\/\{nextLink\}"/, "urlPath := nextLink").
4545
replace(/\s+urlPath\s+=\s+strings\.ReplaceAll\(urlPath, "\{nextLink\}", nextLink\)/, "");
46-
```
46+
```
47+
48+
```yaml
49+
directive:
50+
- from: zz_azureappconfiguration_client.go
51+
where: $
52+
transform: >
53+
return $.replace(/createSnapshot\(/g, "CreateSnapshot(");
54+
```
55+
56+
```yaml
57+
directive:
58+
- from: zz_constants.go
59+
where: $
60+
transform: >
61+
return $.replace(/SnapshotFieldsEtag/g, "SnapshotFieldsETag");
62+
```

sdk/data/azappconfig/internal/generated/custom_client.go

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
package generated
88

99
import (
10-
"context"
11-
1210
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
1311
"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
1412
"github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing"
@@ -21,19 +19,10 @@ func NewAzureAppConfigurationClient(endpoint string, client *azcore.Client) *Azu
2119
}
2220
}
2321

24-
func (a *AzureAppConfigurationClient) Tracer() tracing.Tracer {
25-
return a.internal.Tracer()
22+
func (a *AzureAppConfigurationClient) Pipeline() runtime.Pipeline {
23+
return a.internal.Pipeline()
2624
}
2725

28-
func NewCreateSnapshotPoller[T any](ctx context.Context, client *AzureAppConfigurationClient, name string, entity Snapshot, options *AzureAppConfigurationClientBeginCreateSnapshotOptions) (*runtime.Poller[T], error) {
29-
if options == nil || options.ResumeToken == "" {
30-
resp, err := client.createSnapshot(ctx, name, entity, options)
31-
if err != nil {
32-
return nil, err
33-
}
34-
poller, err := runtime.NewPoller[T](resp, client.internal.Pipeline(), nil)
35-
return poller, err
36-
} else {
37-
return runtime.NewPollerFromResumeToken[T](options.ResumeToken, client.internal.Pipeline(), nil)
38-
}
26+
func (a *AzureAppConfigurationClient) Tracer() tracing.Tracer {
27+
return a.internal.Tracer()
3928
}

sdk/data/azappconfig/internal/generated/zz_azureappconfiguration_client.go

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

sdk/data/azappconfig/internal/generated/zz_constants.go

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

sdk/data/azappconfig/keyvaluefilter.go

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

sdk/data/azappconfig/snapshot.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ type SnapshotInfo struct {
4444
type Snapshot struct {
4545

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

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

0 commit comments

Comments
 (0)